124

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

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

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

4

5 回答 5

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

因为如文档中所述:

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

于 2012-04-18T09:48:49.020 回答
16

在科特林:

editText.error = null

Kotlin 扩展功能:

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

fun EditText.clearError() {
    error = null
}

在 Java 中:

editText.setError(null);
于 2020-01-03T04:00:06.703 回答
3

您也可以使用以下方法进行操作:

protected void onPause () {    
    mEditText.setError(null);//removes error
    mEditText.clearFocus();    //clear focus from edittext
}
于 2017-03-27T12:15:57.570 回答
2

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

mEditText.setError(null);
于 2018-03-05T11:02:54.843 回答
0

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

protected void onPause () {
    EditText mEditText = ...; // fetch it as appropriate
    mEditText.error = null
}
于 2020-01-03T05:13:40.957 回答