У меня есть несколько полей EditText в приложении для Android, и я использовал android:digits, чтобы остановить ввод недопустимых символов.
например:
android:digits="@string/validchars"
(где «validchars» — строковый ресурс всех допустимых символов — например, AZ, 0–9 и некоторые знаки препинания)
Проблема в том, что если пользователь нажимает клавишу ENTER на программной следующее поле, но так как я добавил бит android:digits, это перестало работать. Я пытался добавить \n к validchars
, но это просто разрешает возврат каретки в текстовых полях с одной строкой (!), Так что не помогает. Я пробовал возиться с imeOptions (добавляя actionNext
и т. д.), но это, похоже, тоже не исправляет.
Я читал о TextWatchers и InputFilters, но оба они кажутся слишком сложными для того, что я пытаюсь сделать, и бит android:digits
отлично справляется с остановкой недопустимых символов.
У кого-нибудь есть идеи?
Я использую Android SDK версии 8 и ориентируюсь на устройства 2.2 и 2.3.5.