Как прекратить принимать ввод после того, как длина EditText пересекает предел

Я знаю, что уже было задано несколько вопросов, но у меня есть немного другой вопрос.

Как наложить ограничение на максимальное количество символов, вводимых в EditText? Делаю ли я это

android:maxLength="7"

или это

((EditText)findViewById(R.id.zip)).setFilters(new InputFilter[] {
    new InputFilter.LengthFilter(7)
});

, я все еще могу печатать в текстовое поле, хотя это не видно и не принимается во внимание. Если я продолжу печатать, то после ограничения ввод станет невидимым, но test-suggestions будет продолжать собираться для большего количества букв.

Предположим, мой лимит равен 7, и я набрал 10 букв, тогда я увидел бы только первые 7 букв, но в текстовых предложениях будут отображаться слова из 10 букв. Кроме того, мне нужно нажать клавишу Backspace 3 раза, чтобы фактически начать удалять буквы из моего показанного 7-буквенного слова.

Итак, мой вопрос: есть ли способ прекратить принимать ввод после определенной длины символа?

PS : Излишне говорить, но, хотя я не хочу, чтобы ввод вводился после 7 букв, я бы разрешил удаление или возврат.

8
задан Akeshwar Jha 29 January 2016 в 16:17
поделиться