左晓为主开发手持机充值管理机
zuoxiao
2024-07-13 d08a5a6d062f1568aaeb14d2d72357826291ef97
qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/PasswordCardActivity.java
@@ -1,7 +1,11 @@
package com.dayu.qihealonelibrary.activity;
import android.os.Bundle;
import android.text.Editable;
import android.text.InputFilter;
import android.text.Spanned;
import android.text.TextUtils;
import android.text.TextWatcher;
import android.view.LayoutInflater;
import android.view.View;
@@ -20,6 +24,7 @@
    ActivityPasswordCardQhaBinding binding;
    PassWordCardBean cardBean;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
@@ -35,6 +40,9 @@
        if (powerBean != null) {
            this.cardBean = powerBean;
            binding.villageOldNumber.setText(powerBean.getPassWord());
        } else {
            cardBean = new PassWordCardBean();
            binding.villageOldNumber.setText("当前还未设置");
        }
    }
@@ -44,12 +52,12 @@
            public void onClick(View v) {
                String data = binding.villageNewNum.getText().toString();
                if (!TextUtils.isEmpty(data)) {
                    if (data.length()==12){
                    if (data.length() == 12) {
                        cardBean.setPassWord(data);
                        baseDao.passWordCardDao().insert(cardBean);
                        TipUtil.show("保存成功");
                        TipUtil.show(PasswordCardActivity.this, "保存成功");
                        initData();
                    }else {
                    } else {
                        TipUtil.show("请输入正确的12位字符的16进制卡密码");
                    }
@@ -58,8 +66,30 @@
                }
            }
        });
        // 设置输入过滤器
        binding.villageNewNum.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) {
                if (!isValidInput(s.toString())) {
                    // 如果输入的字符不符合要求,则将 EditText 的内容设置为最后一次合法的输入
                    binding.villageNewNum.setText(s.subSequence(0, s.length() - 1).toString().toUpperCase());
                    binding.villageNewNum.setSelection(binding.villageNewNum.getText().length()); // 将光标移动到末尾
                }
            }
        });
    }
}
    // 检查输入的字符是否符合要求
    private boolean isValidInput(String input) {
        return input.matches("[0-9a-fA-F]*"); // 包含 0-9 和 a-f 的字符
    }
}