TextInputLayout не показывает сообщение об ошибке после очистки

Я использую TextInputLayout из com.android.support:design:23.3.0

Когда я впервые применяю ошибку, она отображается правильно.

mInputPassword.setError(getString(R.string.error_invalid_password)); mInputEmail.setError(getString(R.string.error_field_required)); 

Введите описание изображения здесь

При следующей попытке входа я очищу ошибку.

 mInputEmail.setError(null); mInputPassword.setError(null); 

Затем я запустил проверку и снова установил ошибку, используя тот же код, что и выше, но на этот раз красная линия применяется, но текст ошибки отсутствует. Введите описание изображения здесь

У кого-нибудь есть идеи о том, почему это может происходить или имели подобные ситуации?

Я видел что-то подобное, описанное здесь, но оно предназначено для более старой версии библиотеки дизайна и не знает, все еще проблема в проверке, которую я использую,

Вам просто нужно сделать следующие шаги:

 setErrorEnabled(true); setError("error"); 

Для очистки:

 setError(null); setErrorEnabled(false); 

Повторите первый шаг, чтобы установить новую ошибку. setError(null) очищает сообщение об ошибке и значок, поэтому я думаю, что отображаемое представление просто исчезло, и setErrorEnabled(false) сбросит его.

Вы очищаете строку сообщения об ошибке:

 mInputEmail.setError(null); mInputPassword.setError(null); 

Поэтому, когда вы перезапустите проверку, вы получите пустую строку.

Если вы хотите, чтобы сообщение об ошибке исчезло, очистите ошибочный текст из текстового поля:

 mInputEmail.setText(""); mInputPassword.setText("");