package com.dayu.qiheonlinelibrary.activity; import android.os.Bundle; import android.text.Editable; import android.text.TextUtils; import android.text.TextWatcher; import android.view.LayoutInflater; import android.widget.EditText; import com.dayu.baselibrary.utils.MornyUtil; import com.dayu.baselibrary.utils.TipUtil; import com.dayu.qiheonlinelibrary.databinding.ActivityAdminSetupQhlBinding; import com.dayu.qiheonlinelibrary.dbBean.AdminDataBean; import com.dayu.qiheonlinelibrary.dbBean.ElectricPriceBean; import com.tencent.bugly.crashreport.CrashReport; /** * Copyright (C), 2023, * Author: zuo * Date: 2023-11-10 19:52 * Description: 管理员信息设置 */ public class AdminSetupActivity extends BaseActivity { ActivityAdminSetupQhlBinding adminBinding; public static AdminSetupActivity adminSetupActivity; AdminDataBean adminData = new AdminDataBean(); ElectricPriceBean electricPriceBean; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); try { adminBinding = ActivityAdminSetupQhlBinding.inflate(LayoutInflater.from(this)); setContentView(adminBinding.getRoot()); adminSetupActivity = this; setViewData(); initView(); } catch (Exception e) { CrashReport.postCatchedException(e); e.printStackTrace(); } } private void initView() { adminBinding.setupOk.setOnClickListener(v -> { String strSerial = adminBinding.adminAddressCode.getText().toString(); String strAddressCode = adminBinding.adminAddressCode.getText().toString(); String strElectricPrice = adminBinding.electricNewNum.getText().toString(); if (!TextUtils.isEmpty(strAddressCode) && !TextUtils.isEmpty(strSerial) && !TextUtils.isEmpty(strElectricPrice)) { int electricPrice = MornyUtil.changeY2L(strElectricPrice); if (Integer.valueOf(electricPrice) > 0) { if (Integer.valueOf(strAddressCode) <= 65535) { adminData.setAddressCode(strAddressCode); adminData.setSerial(strSerial); // adminData.setWaterPrice(wtaterPrice); baseDao.adminDao().insert(adminData); electricPriceBean.setPrice(Float.parseFloat(strElectricPrice)); baseDao.electricPriceDao().insert(electricPriceBean); TipUtil.show(AdminSetupActivity.this, "设置成功", new TipUtil.TipListener() { @Override public void onCancle() { AdminSetupActivity.this.finish(); } }); } else { TipUtil.show(AdminSetupActivity.this, "输入的区域号不能超过65535"); } } else { TipUtil.show(AdminSetupActivity.this, "单价不能为0"); } } else { TipUtil.show(AdminSetupActivity.this, "请输入完整内容"); } }); // setPricePoint(adminBinding.adminWaterPrice); //保留三位小数 adminBinding.electricNewNum.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { } @Override public void afterTextChanged(Editable s) { // 删除额外的小数位 String text = s.toString(); if (text.contains(".")) { int decimalIndex = text.indexOf("."); int decimalCount = text.length() - decimalIndex - 1; if (decimalCount > 3) { s.delete(decimalIndex + 4, s.length()); } } } }); } private void setViewData() { try { AdminDataBean adminData = baseDao.adminDao().findFirst(); if (adminData != null) { this.adminData = adminData; adminBinding.adminSerial.setText(adminData.getSerial()); adminBinding.adminAddressCode.setText(adminData.getAddressCode()); adminBinding.adminWaterPrice.setText(MornyUtil.changeF2Y(adminData.getWaterPrice())); } ElectricPriceBean priceBean = baseDao.electricPriceDao().findFirst(); if (priceBean != null) { electricPriceBean = priceBean; adminBinding.electricNewNum.setText(priceBean.getPrice()+"" ); } else { electricPriceBean = new ElectricPriceBean(); adminBinding.electricNewNum.setText("1.000"); } } catch (Exception e) { CrashReport.postCatchedException(e); e.printStackTrace(); } } //水单价校验 public static void setPricePoint(final EditText editText) { editText.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { if (s.toString().contains(".")) { if (s.length() - 1 - s.toString().indexOf(".") > 2) { s = s.toString().subSequence(0, s.toString().indexOf(".") + 3); editText.setText(s); editText.setSelection(s.length()); } } if (s.toString().trim().substring(0).equals(".")) { s = "0" + s; editText.setText(s); editText.setSelection(2); } if (s.toString().startsWith("0") && s.toString().trim().length() > 1) { if (!s.toString().substring(1, 2).equals(".")) { editText.setText(s.subSequence(0, 1)); editText.setSelection(1); } } } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void afterTextChanged(Editable s) { // TODO Auto-generated method stub } }); } }