From 389d1e5aedc99a3909c61db855b18a2936919942 Mon Sep 17 00:00:00 2001 From: zuoxiao <470321431@qq.com> Date: 星期四, 07 三月 2024 14:37:59 +0800 Subject: [PATCH] 修复设置电量单价时没有保留三位小数的bug --- app/src/main/java/com/dayu/recharge/activity/ElectricPriceActivity.java | 75 ++++++++++++++++++++++++++++++------- 1 files changed, 60 insertions(+), 15 deletions(-) diff --git a/app/src/main/java/com/dayu/recharge/activity/ElectricPriceActivity.java b/app/src/main/java/com/dayu/recharge/activity/ElectricPriceActivity.java index 014f0fd..d27e444 100644 --- a/app/src/main/java/com/dayu/recharge/activity/ElectricPriceActivity.java +++ b/app/src/main/java/com/dayu/recharge/activity/ElectricPriceActivity.java @@ -1,49 +1,94 @@ package com.dayu.recharge.activity; import android.os.Bundle; +import android.text.Editable; import android.text.TextUtils; +import android.text.TextWatcher; import android.view.LayoutInflater; import android.view.View; import com.dayu.recharge.databinding.ActivityElectricPriceBinding; import com.dayu.recharge.dbBean.ElectricPriceBean; -import com.dayu.recharge.utils.ToastUtil; +import com.dayu.recharge.utils.TipUtil; /** * Copyright (C), 2023, * Author: zuo * Date: 2023-11-10 10:18 - * Description: + * Description: 鐢甸噺鍗曚环 */ public class ElectricPriceActivity extends BaseActivity { ActivityElectricPriceBinding electricPriceBinding; - ElectricPriceBean priceBean; + ElectricPriceBean electricPriceBean; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); electricPriceBinding = ActivityElectricPriceBinding.inflate(LayoutInflater.from(this)); setContentView(electricPriceBinding.getRoot()); + initView(); + initData(); - ElectricPriceBean priceBean = baseDao.electricPriceDao().findFirst(); - if (priceBean != null) { - this.priceBean = priceBean; - electricPriceBinding.electricOldNumber.setText(priceBean.getPrice() + ""); - } - electricPriceBinding.electricOk.setOnClickListener(new View.OnClickListener() { + + + + } + + + + private void initView() { + + //淇濈暀涓変綅灏忔暟 + electricPriceBinding.electricNewNum.addTextChangedListener(new TextWatcher() { @Override - public void onClick(View v) { - if (!TextUtils.isEmpty(electricPriceBinding.electricNewNum.getText())) { - priceBean.setPrice(Float.parseFloat(electricPriceBinding.electricNewNum.getText().toString())); - baseDao.electricPriceDao().insert(priceBean); - } else { - ToastUtil.show("璇疯緭鍏ユ纭噾棰�"); + 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()); + } } } }); + electricPriceBinding.electricOk.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (!TextUtils.isEmpty(electricPriceBinding.electricNewNum.getText())) { + electricPriceBean.setPrice(Float.parseFloat(electricPriceBinding.electricNewNum.getText().toString())); + baseDao.electricPriceDao().insert(electricPriceBean); + TipUtil.show("淇濆瓨鎴愬姛"); + initData(); + } else { + TipUtil.show("璇疯緭鍏ユ纭噾棰�"); + } + } + }); + } + private void initData() { + ElectricPriceBean priceBean = baseDao.electricPriceDao().findFirst(); + if (priceBean != null) { + electricPriceBean = priceBean; + electricPriceBinding.electricOldNumber.setText(priceBean.getPrice() + "鍏�"); + } else { + electricPriceBean = new ElectricPriceBean(); + electricPriceBinding.electricOldNumber.setText("1.000鍏�"); + } } -- Gitblit v1.8.0