Remove the error indicator from a previously-validated EditText widget
AndroidAndroid EdittextAndroid Problem Overview
I am using an EditText widget, and I am validating it with the setError()
method of EditText and it validates correctly.
But I have an button in the same screen that redirects to another activity. And when I press back button and come back to the screen the validation still appears.
So on the activity OnPause
event I want to remove the validation of the EditText. How is it possible.
Android Solutions
Solution 1 - Android
protected void onPause () {
TextView textView = ...; // fetch it as appropriate
textView.setError(null);
}
Because as mentioned in the documentation:
> If the error is null, the error message and icon will be cleared.
Solution 2 - Android
In Kotlin:
editText.error = null
Kotlin Extension Function:
To make it more readable, you could add this extension function
fun EditText.clearError() {
error = null
}
In Java:
editText.setError(null);
Solution 3 - Android
You can also do it using following :
protected void onPause () {
mEditText.setError(null);//removes error
mEditText.clearFocus(); //clear focus from edittext
}
Solution 4 - Android
just put .setError(null)
at the end of the EditText.
mEditText.setError(null);
Solution 5 - Android
In kotlin you can simply acces the property using property access syntax wich is
protected void onPause () {
EditText mEditText = ...; // fetch it as appropriate
mEditText.error = null
}