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