如何在android中从EditText中删除getError消息
我使用了setError方法处理EditText,当用户将该字段保留为空时。但是,当用户再次尝试写下密码时,我希望删除错误红色图标和消息。我尝试了代码中所写的setError(null),但仍然不起作用如何在android中从EditText中删除getError消息,android,android-studio,android-textinputlayout,Android,Android Studio,Android Textinputlayout,我使用了setError方法处理EditText,当用户将该字段保留为空时。但是,当用户再次尝试写下密码时,我希望删除错误红色图标和消息。我尝试了代码中所写的setError(null),但仍然不起作用 String val = password.getEditText().getText().toString(); if (val.isEmpty()) { password.setError("Please enter password&q
String val = password.getEditText().getText().toString();
if (val.isEmpty()) {
password.setError("Please enter password");
return false;
} else {
password.setError(null);
password.setErrorEnabled(false);
return true;
}
您可以使用TextWatcher监视EditText值中的更改。请参阅以下代码:
password.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
if (s.toString().isEmpty()) {
password.setError("Please enter password");
return false;
} else {
password.setError(null);
password.setErrorEnabled(false);
return true;
}
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
}
});
我没有在中看到
setError()
或setErrorEnabled()
。我很确定,EditText
没有getEditText()
方法。我使用的是TextInputLayout,而不是一个非正常的EditTextsetError()
在TextView
和EditText
extendTextView
中password
必须是TextInputLayout,因为setError()
和setErrorEnabled()
都是可用的。我没有加载任何注释,感谢Rohan对密码类型Hi@AlphaOne的澄清。此addTextChangedListener仅在EditText情况下可用,不适用于TextInputLayout。你能帮我弄清楚用哪一个吗this@Rohanverma您可以尝试以下操作:view.getEditText().addTextChangedListener()
其中view
是您的TextLayoutInput的@id,在您的情况下,我认为它是密码。这应该行。@Rohanverma您可以按照Yash的建议使用password.getEditText()。或者你可以给你的编辑文本一个Id,并在这里使用。嗨@YashJoshi和AlphaOne,谢谢你,伙计,现在它工作得很好