password.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) {
// 在文本变化后调用,此时的文本是最终的
// 你可以在这里执行你需要的操作,比如验证密码强度等
String passwordText = s.toString();
if(validatePassword(passwordText)){
// 使EditText完全不可见且不占据空间
tip.setVisibility(View.GONE);
}else{
tip.setVisibility(View.VISIBLE);
}
// ...
}
});
// 为 passwordAgain Input 设置 TextWatcher
passwordAgain.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) {
// 你可以在这里比较两个密码是否一致
String passwordAgainText = s.toString();
if (password.getText().toString().equals(passwordAgainText)) {
// 密码一致,执行相应操作
nomatch.setVisibility(View.GONE);
}else{
nomatch.setVisibility(View.VISIBLE);
}
}
});
04-06
2836