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