Ответ 1
Добавьте следующую строку кода, и она выполнит трюк:)
editText.setRawInputType(Configuration.KEYBOARD_QWERTY);
Сначала будет отображаться цифровая клавиатура, а также позволяет вводить свободный текст.
Подробнее здесь.
Это задано в другом месте онлайн безрезультатно. Есть ли какой-либо способ в Android отображать цифровую клавиатуру при фокусировке на EditText
, но все же разрешить ввод какого-либо текста?
Я хочу, чтобы пользователь вводил количество (например, "1 кг", "2 L" ), поэтому установка inputType="number"
не будет работать.
Добавьте следующую строку кода, и она выполнит трюк:)
editText.setRawInputType(Configuration.KEYBOARD_QWERTY);
Сначала будет отображаться цифровая клавиатура, а также позволяет вводить свободный текст.
Подробнее здесь.
Это может быть зависит от устройства, но вы пробовали:
android:inputType="phone"
в редакторе EditText xml, это дает вам клавиатуру с цифровым клавиатурой, но затем вы можете переключиться на букву, если хотите. (По крайней мере, на моем Nexus One).
Обратите внимание, что: setRawInputType (InputType.TYPE_CLASS_NUMBER);
имеет желаемый эффект для некоторых устройств, но не для других...
На htc он отлично работает, однако на вкладке II галактики вы получаете только цифровую клавиатуру и не можете переключиться обратно в альфа.
напишите код в XML, Android: числовое = "целое число" Android: inputType = "телефон" андроид: цифры = "1234567890"
Похоже, что основной вопрос, с которым вы имеете дело, заключается в следующем: как я могу позволить пользователю вводить количества?
Один подходящий ответ: с числовым входом, в сочетании с определенной формой выбора категории для устройства. например радио, выпадающего меню или счетчика. Это, вероятно, проще в использовании, а также избавляет вас от головной боли от необходимости проверять ваш ввод каждый раз.
У вас также могут быть железные койоны и написать пользовательскую мягкую клавиатуру.
Я пробовал много разных комбинаций, прежде чем я понял это, но это работает правильно:
setRawInputType(InputType.TYPE_CLASS_NUMBER);
Ключ лежит в описании setRawInputType(int)
:
Непосредственно изменить целочисленное целое содержимого текстового вида без изменяя любое другое состояние.