Ich habe ein "aktuelles Passwort" EditText und ein Fehler TextView, die eine Fehlermeldung anzeigt. Ich möchte die Fehlermeldung löschen, wenn sich der EditText-Inhalt ändert, normalerweise, wenn der Benutzer einen anderen Buchstaben eingibt oder etwas löscht.Clear TextView von innerhalb der TextWatcher-Methode
Der Fehler TextView wird nicht gelöscht, obwohl das System die Nachrichten druckt. Die Textansicht wird nur gelöscht, wenn der EditText den Fokus verliert.
Warum passiert das? Werden diese Methoden in einem anderen Thread ausgeführt? Wie soll ich das TextView sofort löschen, nachdem der Benutzer ein Zeichen eingegeben hat?
mCurrentPasswordEditText = (EditText) view.findViewById(R.id.current_password_edit_text);
mCurrentPasswordErrorTextView = (TextView) view.findViewById(R.id.current_password_error_text_view);
mCurrentPasswordEditText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
//mCurrentPasswordErrorTextView.setText("");
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
//mCurrentPasswordErrorTextView.setText("");
}
@Override
public void afterTextChanged(Editable s) {
System.out.println("called multiple times.");
mCurrentPasswordErrorTextView.setText("");
}
});
tun, dass in OnTextChanged() -Methode –
@VivekMishra das gleiche passiert .. Ich versuchte es bereits in allen drei Methoden, die Textview erst nach dem EditText Fokus verliert gelöscht wird. –
Aber ich habe. 'mCurrentPasswordErrorTextView.setText (" ");' das ist meine Zeile zum Löschen der TextView. –