左晓为主开发手持机充值管理机
zuoxiao
2024-09-27 feb7add1979c830e0d940286242a7c489f2f8f96
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
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.view.View;
 
import com.dayu.baselibrary.utils.TipUtil;
import com.dayu.qiheonlinelibrary.databinding.ActivityPasswordCardQhlBinding;
import com.dayu.qiheonlinelibrary.dbBean.PassWordCardBean;
 
 
/**
 * author: zuo
 * Date: 2024-03-01
 * Time: 16:21
 * 备注:密码卡设置界面
 */
public class PasswordCardActivityQHOline extends QHOlineBaseActivity {
 
    ActivityPasswordCardQhlBinding binding;
 
    PassWordCardBean cardBean;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        binding = ActivityPasswordCardQhlBinding.inflate(LayoutInflater.from(this));
        setContentView(binding.getRoot());
        initView();
        initData();
    }
 
 
    private void initData() {
        PassWordCardBean powerBean = baseDao.passWordCardDao().findFirst();
        if (powerBean != null) {
            this.cardBean = powerBean;
            binding.villageOldNumber.setText(powerBean.getPassWord());
        } else {
            cardBean = new PassWordCardBean();
            binding.villageOldNumber.setText("当前还未设置");
        }
    }
 
    private void initView() {
        binding.villageOk.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String data = binding.villageNewNum.getText().toString();
                if (!TextUtils.isEmpty(data)) {
                    if (data.length() == 12) {
                        cardBean.setPassWord(data);
                        baseDao.passWordCardDao().insert(cardBean);
                        TipUtil.show(PasswordCardActivityQHOline.this, "保存成功");
                        initData();
                    } else {
                        TipUtil.show("请输入正确的12位字符的16进制卡密码");
                    }
 
                } else {
                    TipUtil.show("请输入要设置的卡密码");
                }
            }
        });
        // 设置输入过滤器
        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 的字符
    }
}