【发布时间】:2018-11-27 09:12:33
【问题描述】:
我有四个checkboxes,如果edit text 的文本更改中的条件满足,将对其进行检查。一个大写复选框,一个长度复选框,一个小写复选框,一个符号复选框。 一旦用户开始输入其中一项或全部或所有可能的一项,就需要检查。
我试过了:
mBinding.cetPassword.getEditText().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) {
if (validateUpperCase(mBinding.cetPassword.getEditText().getText().toString().trim())) {
mBinding.chkUpperCase.setChecked(true);
}else {
mBinding.chkUpperCase.setChecked(false);
}
}
@Override
public void afterTextChanged(Editable s) {
}
});
public boolean validateUpperCase(String name) {
Pattern ps = Pattern.compile("([A-Z]*)");
Matcher ms = ps.matcher(name);
return ms.matches();
}
它不能完美地工作。在添加第二个大写复选框时未选中。
请推荐!谢谢!
【问题讨论】:
标签: android regex android-layout android-edittext