6

TextInputLayout で EditText を使用しています。これは、エラーを表示するために使用しているコードです。

  private boolean validateEmail() {
    String email = inputEmail.getText().toString().trim();

    if (email.isEmpty() || !isValidEmail(email)) {
        inputLayoutEmail.setErrorEnabled(true);
        inputLayoutEmail.setError(getString(R.string.err_msg_email));
        requestFocus(inputEmail);
        return false;
    } else {
        inputLayoutEmail.setErrorEnabled(false);
    }

    return true;
}

このリンクhttp://www.androidhive.info/2015/09/android-material-design-floating-labels-for-edittext/のように、edittextのtextwatcherでこのメソッドを呼び出しています

有効な入力を入力してからクリアすると、期待どおりにエラーメッセージが表示されますが、テキストをもう一度入力してからもう一度クリアすると機能しません。つまり、エラーメッセージは表示されません。

compile 'com.android.support:design:23.1.0'ライブラリを使用しています。

inputLayoutEmail.setErrorEnabled(true); 

呼び出していますが、エラーは表示されません。何が問題なのですか?どうすればこれを解決できますか?

4

5 に答える 5

7

申し込むだけで、

inputLayoutEmail.setErrorEnabled(false);
inputLayoutEmail.setError(null);

それは私のために働いた。それがあなたにとってもうまくいくことを願っています。

于 2016-05-20T13:22:19.343 に答える
0

Android サポート ライブラリ、リビジョン 23.4.0 (2016 年 5 月) を使用します。

API レベル 21 ~ 22 のTextInputLayout後でエラー ティントがクリアされない問題を修正しました(課題 202829)setErrorEnabled(false)

于 2016-05-16T04:35:08.890 に答える