Использование Android: атрибут Digits для ограничения символов останавливает действие, следующая кнопка работает

У меня есть несколько полей EditText в приложении для Android, и я использовал android: цифры, чтобы остановить ввод недопустимых символов.

например: android:digits="@string/validchars" (где «validchars» - строковый ресурс всех допустимых символов - например, A-Z, 0-9 и некоторые знаки пунктуации)

Проблема в том, что если пользователь нажимает клавишу ВВОД на программной клавиатуре, которую он использовал, чтобы перевести их в следующее поле, но с тех пор, как я добавил android: разряд цифр, это перестало работать. Я пытался добавить \ n кvalidchars но это только позволяет возврату каретки в однострочных текстовых полях (!), что не помогает. Я пытался поиграться с imeOptions (добавивactionNext и т.д.) но, похоже, это тоже не исправит. Я читал о TextWatchers и InputFilters, но оба они кажутся слишком сложными из-за того, что я пытаюсь сделать, иandroid:digits бит отлично работает при остановке недопустимых символов.

У кого-нибудь есть идеи?

Я использую Android SDK версии 8 и ориентирован на устройства 2.2 и 2.3.5.

Ответы на вопрос(1)

Решение Вопроса

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

 Buzby07 мая 2017 г., 00:57
Я считаю, что теперь вы должны использовать maxLines = & quot; 1 & quot;
 04 мая 2017 г., 14:40
android: singleLine устарела = (это другой способ?
 15 сент. 2017 г., 15:06
но android: maxLines = 1 плохо работает с android: цифры
 07 июл. 2014 г., 23:51
В качестве альтернативы, если пользователь желает иметь «готово» вариант вместо следующего, см. этот вопрос, который связанstackoverflow.com/questions/1919742/…

Ваш ответ на вопрос