TextInputLayout оставляет пустое пространство, когда ошибка установлена ​​в ноль - PullRequest
0 голосов
/ 08 января 2020

У меня небольшая проблема с пользовательским интерфейсом.

Я использую com.google.android.material.textfield.TextInputLayout, чтобы выполнить вход в систему, и легко устанавливаю ошибки.

Ситуация:

У меня есть TextInputLayout пусто, и нет никакой ошибки, чтобы показать.

enter image description here

Затем, когда пользователь начинает писать, я устанавливаю TextInputLayout.error = "Error Messge" , Так как здесь все правильно.

enter image description here

Но когда пользователь очищает TextInputLayout, я убираю ошибку, устанавливая ее в null: TextInputLayout.error = null

enter image description here

И вот тут возникает проблема. После устранения ошибки пространство, в котором была обнаружена ошибка, не исчезает. Это оставляет пустое пространство, которое мне не нужно.

Есть ли способ удалить его? Я не вижу никакого метода, чтобы «очистить» ошибку и удалить это пространство.

PS: Al go Я пытался установить «пусто» вместо null -> TextInputLayout.error = "", но не не работает.

1 Ответ

0 голосов
/ 08 января 2020

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

Пример:

if (exampleTextInput.editText?.text?.isEmpty()!!) {
    this.exampleTextInput.error = null
    exampleTextInput.isErrorEnabled = false
} else {
    exampleTextInput.isErrorEnabled = true
    this.exampleTextInput.error = "error message"
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...