#android #keyboard
#Android #клавиатура
Вопрос:
У меня есть форма с несколькими полями ввода. Итак, я хочу перемещаться между полями с помощью кнопки next, но это работает только тогда, когда тип поля ввода равен «number». С type =»text» это не так!
Это ошибка в Android 3.2.1?
Мои поля ввода такие:
<input type="text" name="..." .... /> --> keyboard "Go"
<input type="text" name="..." .... /> --> keyboard "Go"
<input type="number" name="..." .... /> --> here it shows the "Next" button on the keyboard
<input type="text" name="..." .... /> --> keyboard "Go"
Ответ №1:
DennisA подходит для Android 4.0 и ниже.
Короче говоря, это не ошибка, а, к сожалению, то, как Google ее реализовал (я бы предпочел последовательный ПЕРЕХОД ко всем этим клавишам, чтобы вы могли предотвратить действие по умолчанию в JavaScript).
С Android 4.1 (JellyBean) вы можете изменить поведение по умолчанию, расширив WebViewInputConnection: https://github.com/android/platform_frameworks_base/blob/master/core/java/android/webkit/WebViewClassic.java#L379
(хакерство)
Комментарии:
1. Я не понимаю, как заставить это работать. Как WebViewInputConnection, так и необходимый ввод WebViewCore.TextFieldInitData, похоже, недоступны. У вас есть пример того, как вы это сделали? Спасибо.
2. эта ссылка теперь мертва; ITYM github.com/android/platform_frameworks_base/blob/jb-release / … но тот факт, что он мертв, заставляет меня сомневаться, что он будет работать в 4.2 :/
Ответ №2:
Я полагаю, вам нужно указать, что ваш ввод не является многострочным вводом, в противном случае следующий заменяется на следующий
Комментарии:
1. Я привел пример в своем вопросе.
Ответ №3:
Когда webkit отображает эти поля ввода, он преобразует их в класс с именем android.webkit.WebTextView, который определяет, как будет выглядеть softkeyboard, и, похоже, нет хорошего способа переопределить imeOptions, установленные классом WebTextView