Цифровая клавиатура на Android

Я разрабатываю приложение для Android, где мы используем WebView для отображения веб-страницы, обслуживаемой с веб-сервера. Все работает нормально, кроме проблемы с тем, что, когда я использую мягкую клавиатуру и переключаюсь на ввод числовой клавиши и перехожу из первого поля в следующее поле, макет клавиатуры автоматически изменяется на буквенно-цифровой.

Есть ли способ, с помощью которого я могу вытащить виртуальную клавиатуру в числовом режиме только тогда, когда мне нужно вводить только цифры?

Спасибо и с уважением.

Ответ 1

editTextField.setRawInputType(Configuration.KEYBOARD_QWERTY);

Сначала отображается обычная клавиатура с числовой версией, но она позволяет переключаться между ними.

getInput.setRawInputType(Configuration.KEYBOARD_12KEY);

Это показывает только числовые значения, без возможности ввода текстовых значений.

Я столкнулся с подобной ситуацией. Мне нужны только числовые значения, но у меня есть "подсказка", которая была текстом. Установка типа inputType на номер не позволит отображать подсказку. Это прекрасно работает.

Ответ 2

Configuration.KEYBOARD_12KEY или Configuration.KEYBOARD_QWERTY неверный путь.

Вы должны использовать InputType (показать doc здесь) на EditText setRawInputType().

Ответ 3

Если вы говорите о HTML, вы можете использовать функции HTML5, например:

Number: <input type="number" name="points" min="1" max="10" />

Протестировано это в браузере HTC Desire, и при вводе данных в это поле появляется другая (цифровая) клавиатура.

Ответ 4

Есть ли способ, с помощью которого я могу поднять виртуальную клавиатуру в числовом режим, только когда мне нужно вводить цифры только?

Да, вы можете указать атрибут android:inputType XML со значением number или numberDecimal:

<EditText 
android:text="" 
android:id="@+id/editTextNumber" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:inputType="numberDecimal">
</EditText>

Наслаждайтесь!!