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 PasswordCardActivity extends BaseActivity {
|
|
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(PasswordCardActivity.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 的字符
|
}
|
}
|