私は現在のパスワードEditTextとエラーメッセージTextViewを表示しています。 EditTextの内容が変更されたときに、通常、ユーザーが別の文字を入力するか、何かを消去したときにエラーメッセージをクリアしたい。TextWatcherメソッド内からTextViewをクリアする
システムがメッセージを出力してもエラーTextViewがクリアされていません。 TextViewは、EditTextがフォーカスを失ったときにのみクリアされます。
どうしてですか?これらのメソッドは別のスレッドで実行されていますか?ユーザーが文字を入力した直後にTextViewをクリアするにはどうすればよいですか?
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("");
}
});
私はすでに、すべての3つの方法でそれを試みたのEditTextがフォーカスを失った後も同じことが起こるonTextChanged()メソッド –
@VivekMishraに...、TextViewにのみクリアされません。 –
しかし私は持っています。 'mCurrentPasswordErrorTextView.setText(" ");'これはTextViewをクリアするための私の行です。 –