从先前验证的EditText小部件中删除错误指示符


106

我正在使用EditText小部件,并使用EditText的setError()方法对其进行了验证,并且可以正确验证。

但是我在同一屏幕上有一个按钮,可以重定向到另一个活动。当我按返回按钮并返回到屏幕时,仍然显示验证。

因此,在活动OnPause事件中,我想删除EditText的验证。这怎么可能。

Answers:


277
protected void onPause () {
    TextView textView = ...; // fetch it as appropriate
    textView.setError(null);
}

因为如文档中所述:

如果错误为空,则错误消息和图标将被清除。


1
哇,除了NullPointerException外,null值确实得到了很好的利用。大声笑
ralphgabb

4

在科特林:

editText.error = null

Kotlin扩展功能:

为了使其更具可读性,您可以添加此扩展功能

fun EditText.clearError() {
    error = null
}

在Java中:

editText.setError(null);

3

您也可以使用以下方法:

protected void onPause () {    
    mEditText.setError(null);//removes error
    mEditText.clearFocus();    //clear focus from edittext
}

2

只需放在.setError(null)EditText的末尾。

mEditText.setError(null);

0

在kotlin中,您可以简单地使用属性访问语法访问属性,其中

protected void onPause () {
    EditText mEditText = ...; // fetch it as appropriate
    mEditText.error = null
}
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.