126 votes

Supprimer l'indicateur d'erreur d'un widget EditText précédemment validé

J'utilise un widget EditText, et je le valide avec la méthode setError() de EditText et il valide correctement.

Mais j'ai un bouton sur le même écran qui redirige vers une autre activité. Et quand j'appuie sur le bouton retour et que je reviens à l'écran, la validation apparaît toujours.

Donc sur l'activité OnPause événement je veux supprimer la validation de l'EditText. Comment est-ce possible ?

306voto

Boris Strandjev Points 18480
protected void onPause () {
    TextView textView = ...; // fetch it as appropriate
    textView.setError(null);
}

Parce que comme mentionné dans la documentation :

Si l'erreur est nulle, le message d'erreur et l'icône seront effacés.

18voto

Gibolt Points 4072

En Kotlin :

editText.error = null

Fonction d'extension Kotlin :

Pour le rendre plus lisible, vous pouvez ajouter cette fonction d'extension

fun EditText.clearError() {
    error = null
}

En Java :

editText.setError(null);

3voto

Aj 27 Points 1774

Vous pouvez également le faire en utilisant ce qui suit :

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

3voto

saigopi Points 2873

il suffit de mettre .setError(null) à la fin du EditText.

mEditText.setError(null);

0voto

Rahul Raj Points 152

Dans kotlin, vous pouvez simplement accéder à la propriété en utilisant la syntaxe d'accès à la propriété qui est

protected void onPause () {
    EditText mEditText = ...; // fetch it as appropriate
    mEditText.error = null
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X