Подтвердить что ты не робот

Использование 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.

4b9b3361

Ответ 1

После того, как я немного подшучивал с атрибутами, доступными для EditText, я обнаружил, что когда я добавляю android: singleLine = "true", клавиша ENTER теперь перемещает фокус в следующее поле, даже когда цифры android: цифры ограничивают введенные символы. Задача решена! (для меня, во всяком случае!)