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