【发布时间】:2012-04-18 09:42:36
【问题描述】:
我正在使用 EditText 小部件,并且正在使用 EditText 的 setError() 方法对其进行验证,并且验证正确。
但是我在同一个屏幕上有一个按钮,可以重定向到另一个活动。当我按下返回按钮并返回屏幕时,验证仍然出现。
所以在活动OnPause 事件上,我想删除EditText 的验证。怎么可能。
【问题讨论】:
我正在使用 EditText 小部件,并且正在使用 EditText 的 setError() 方法对其进行验证,并且验证正确。
但是我在同一个屏幕上有一个按钮,可以重定向到另一个活动。当我按下返回按钮并返回屏幕时,验证仍然出现。
所以在活动OnPause 事件上,我想删除EditText 的验证。怎么可能。
【问题讨论】:
protected void onPause () {
TextView textView = ...; // fetch it as appropriate
textView.setError(null);
}
因为如文档中所述:
如果错误为空,错误信息和图标将被清除。
【讨论】:
editText.error = null
为了使其更具可读性,您可以添加此扩展功能
fun EditText.clearError() {
error = null
}
editText.setError(null);
【讨论】:
您也可以使用以下方法:
protected void onPause () {
mEditText.setError(null);//removes error
mEditText.clearFocus(); //clear focus from edittext
}
【讨论】:
只需将.setError(null) 放在 EditText 的末尾即可。
mEditText.setError(null);
【讨论】:
在 kotlin 中,您可以使用属性访问语法简单地访问属性
protected void onPause () {
EditText mEditText = ...; // fetch it as appropriate
mEditText.error = null
}
【讨论】: