Ошибка в TextInputLayout больше не отображается даже при вызове setErrorEnabled(true)
У меня есть TextInputLayout
как это
<android.support.design.widget.TextInputLayout
android:id="@+id/input_layout_name"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/edt_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/title_what_should_we_call_you" />
</android.support.design.widget.TextInputLayout>
Для действительного имени, когда нажмите на кнопку Отправить, я использую
private boolean validateName() {
if (edtName.getText().toString().trim().isEmpty()) {
inputLayoutName.setErrorEnabled(true);
inputLayoutName.setError("Enter name");
return false;
} else {
inputLayoutName.setErrorEnabled(false);
}
return true;
}
Когда я запускаю приложение, не вводите значение для имени и не нажимайте Отправить, отображается сообщение об ошибке (исправить).
Затем я ввожу какое-то значение для имени -> нажмите Отправить -> ошибка скрыть (исправить)
Но затем я очищаю все имя -> нажмите Отправить -> ошибка не отображается
Почему это случилось? Любая помощь или предложение будет с благодарностью.
Если я не использую setErrorEnabled(false);
и просто установить сообщение об ошибке на ноль, вид сообщения об ошибке все еще невидимым не исчез
1 ответ
Я сделал образец, чтобы проверить это, и все, что мне нужно было сделать, это:
if (edtName.getText().toString().trim().isEmpty()) {
inputLayoutName.setError("Enter name");
return false;
} else {
inputLayoutName.setErrorEnabled(false);
}
return true;
Ошибки появляются снова в соответствии с вашим вариантом использования. Можете ли вы проверить это, пожалуйста?