Eliminar el indicador de error de un widget EditText validado previamente


106

Estoy usando un widget EditText y lo estoy validando con el setError() método de EditText y se valida correctamente.

Pero tengo un botón en la misma pantalla que redirige a otra actividad. Y cuando presiono el botón de retroceso y regreso a la pantalla, la validación todavía aparece.

Entonces, en el OnPauseevento de actividad , quiero eliminar la validación del EditText. Como es posible.

Respuestas:


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

Porque como se menciona en la documentación:

Si el error es nulo, el mensaje de error y el icono se borrarán.


1
Vaya, aparte de NullPointerException, el valor nulo realmente se aprovechó. LOL
ralphgabb

4

En Kotlin:

editText.error = null

Función de extensión de Kotlin:

Para hacerlo más legible, puede agregar esta función de extensión

fun EditText.clearError() {
    error = null
}

En Java:

editText.setError(null);

3

También puede hacerlo usando lo siguiente:

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

2

solo poner .setError(null)al final de EditText.

mEditText.setError(null);

0

En kotlin, simplemente puede acceder a la propiedad usando la sintaxis de acceso a la propiedad que es

protected void onPause () {
    EditText mEditText = ...; // fetch it as appropriate
    mEditText.error = null
}
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.