From 270ff8af014d3cd66d14d96743996e5f6c1c30b1 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期五, 06 十二月 2024 21:12:57 +0800
Subject: [PATCH] 2024年12月06日21:12:55

---
 app/src/main/java/com/hdl/photovoltaic/ui/me/BindPhoneActivity.java |   84 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 83 insertions(+), 1 deletions(-)

diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/me/BindPhoneActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/me/BindPhoneActivity.java
index 16af677..b161c89 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/me/BindPhoneActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/me/BindPhoneActivity.java
@@ -3,7 +3,9 @@
 
 import android.os.Bundle;
 import android.os.CountDownTimer;
+import android.text.Editable;
 import android.text.TextUtils;
+import android.text.TextWatcher;
 import android.view.View;
 
 import com.hdl.linkpm.sdk.core.exception.HDLException;
@@ -71,10 +73,15 @@
                 viewBinding.bindPhoneEt.setText("");
             }
         });
+
+        //杈撳叆璐﹀彿
+        viewBinding.bindPhoneEt.addTextChangedListener(accountTextWatcher);
+        //杈撳叆楠岃瘉鐮�
+        viewBinding.changePhoneVerificationEt.addTextChangedListener(verificationCodeTextWatcher);
         viewBinding.bindPhoneTv.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
-                if (isLocalCheck()) {
+                if (isEnabled()) {
                     String phoneStr = viewBinding.bindPhoneEt.getText().toString();
                     String verificationStr = viewBinding.changePhoneVerificationEt.getText().toString();
                     HdlAccountLogic.getInstance().bindingAccount_C(phoneStr, "", verificationStr, new CloudCallBeak<Boolean>() {
@@ -100,6 +107,7 @@
     private void initView() {
         viewBinding.toolbarTopRl.topTitleTv.setText(R.string.set_change_bind_phone_number);
         viewBinding.toolbarTopRl.topBackLl.setVisibility(View.VISIBLE);
+        checkClearIconShowOrNot(viewBinding.bindPhoneEt.getText().toString());
         try {
             Country.load(this);
         } catch (Exception e) {
@@ -172,6 +180,39 @@
     };
 
     /**
+     * 妫�娴嬫竻闄ゅ浘鏍囨槸鍚︽樉绀�
+     */
+    private void checkClearIconShowOrNot(String s) {
+        if (s.replace(" ", "").length() > 0) {
+            if (viewBinding.bindPhoneClearIv.getVisibility() == View.GONE) {
+                viewBinding.bindPhoneClearIv.setVisibility(View.VISIBLE);
+            }
+        } else {
+            if (viewBinding.bindPhoneClearIv.getVisibility() == View.VISIBLE) {
+                viewBinding.bindPhoneClearIv.setVisibility(View.GONE);
+            }
+        }
+    }
+
+    /**
+     * 鏍¢獙纭鎸夐挳鏄惁鍚敤
+     */
+    private boolean isEnabled() {
+        String account = viewBinding.bindPhoneEt.getText().toString().replace(" ", "");
+        String verificationCode = viewBinding.changePhoneVerificationEt.getText().toString().replace(" ", "");
+        boolean isEnabled = account.length() > 0 && verificationCode.length() > 0;
+        if (isEnabled) {
+            viewBinding.bindPhoneTv.setTextColor(getColor(R.color.text_E6FFFFFF));
+        } else {
+            viewBinding.bindPhoneTv.setTextColor(getColor(R.color.text_66FFFFFF));
+        }
+        viewBinding.bindPhoneTv.setEnabled(isEnabled);
+        return isEnabled;
+
+    }
+
+
+    /**
      * 鏈湴鏍¢獙
      */
     private boolean isLocalCheck() {
@@ -189,6 +230,45 @@
 
     }
 
+    /**
+     * 杈撳叆璐﹀彿
+     */
+    private final TextWatcher accountTextWatcher = 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) {
+            checkClearIconShowOrNot(s.toString());
+            isEnabled();
+        }
+    };
+
+    /**
+     * 杈撳叆楠岃瘉鐮�
+     */
+    private final TextWatcher verificationCodeTextWatcher = 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) {
+            isEnabled();
+        }
+    };
+
     @Override
     protected void onDestroy() {
         super.onDestroy();
@@ -197,6 +277,8 @@
             countDownTimer.cancel();
             countDownTimer = null;
         }
+        viewBinding.bindPhoneEt.removeTextChangedListener(accountTextWatcher);
+        viewBinding.changePhoneVerificationEt.removeTextChangedListener(verificationCodeTextWatcher);
 
     }
 

--
Gitblit v1.8.0