Вопрос по keyboard, android-edittext, android – Как мне показать цифровую клавиатуру на EditText в Android?

132

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

Проверьте мой ответ на этот вопросstackoverflow.com/questions/39593324/… Android Help
В вопросе конкретно не говорится о желании изменить разрешенный тип ввода. Он просто спрашивает, как изменить режим клавиатуры, что я хотел бы сделать, не меняя тип ввода. Все ответы объясняют, как изменить тип ввода. AlanKley

Ваш Ответ

13   ответов
4

и вы не можете установить его из xml, тогда этот пример поможет вам настроить клавиатуру этого типа, когда вы используете динамический текст редактирования и т. Д.

myEditTxt.setInputType(InputType.TYPE_CLASS_NUMBER);

где myEditTxt - динамический объект EDIT TEXT (имя)

1

editText.setRawInputType(Configuration.KEYBOARD_QWERTY);

246

inputType для тебяEditText:

<EditText android:inputType="number" ... />
Я согласен с Брайаном ... если первое поле является альфа, а следующее поле числовым, я не могу перейти к следующему полю, используя & apos; Next & apos; кнопка!
Это на удивление легко. ура Chiwai Chan
Я пытался, и мы можем переключиться в режим charcter, если мы хотим
Также обратите внимание, что для этого необходимо настроить таргетинг на Android 1.5 (он недоступен в версии 1.1)
Проблема в том, что вы не можете переключиться обратно. Используя & quot; число | текст & quot; тоже не работает. Кажется, если вы хотите показать цифровую клавиатуру, вы не можете позволить ей вернуться к тексту.
1
editText.setRawInputType(InputType.TYPE_CLASS_NUMBER);
Если вы форматируете текст вручную (например, для валюты) и хотите управлять только клавиатурой, это выбор. Не будет фильтровать ваши символы. Спасибо!
46

показывает лучшую клавиатуру и ограничивает ввод символов.

<EditText
    android:inputType="phone"
    android:digits="1234567890"
    ...
/>

Кроме того, вы можете использоватьandroid:maxLength ограничить максимальное количество номеров.

Чтобы сделать это программно:

editText.setInputType(InputType.TYPE_CLASS_PHONE);

KeyListener keyListener = DigitsKeyListener.getInstance("1234567890");
editText.setKeyListener(keyListener);
Есть ли способ сделать это программно? Умереть, чтобы получить клавиатуру с ограниченным числом для моего EditText, но она настроена таким образом, что она должна быть сгенерирована в действии.
17
<EditText
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    ...
    android:inputType="number|phone"/> 

именно то, что мне нужно!
0
EditText number1 = (EditText) layout.findViewById(R.id.edittext); 
    number1.setInputType(InputType.TYPE_CLASS_NUMBER|InputType.TYPE_CLASS_PHONE);
     number1.setKeyListener(DigitsKeyListener.getInstance("0123456789”));

даже если вы случайно наберете «023456789», текст редактирования не будет принят.

@cyroxis Надеюсь, теперь все ясно?
Вы должны добавить комментарий, объясняющий ваш код и почему это решение
10

Runtime set

EditText input = new EditText(this);
input.setInputType(InputType.TYPE_CLASS_NUMBER);

Using XML

<EditText
    ...
    android:inputType="number" />
0

Определите это в своем XML-коде

android:inputType="number"
0
EditText number1 = (EditText) layout.findViewById(R.id.edittext); 
number1.setInputType(InputType.TYPE_CLASS_NUMBER);
Если у вас есть EditText номер1, созданный в коде макета XML, тогда, если вы хотите установить Number Keyboard на номер1 EditText, вы можете сделать это с помощью кода Java.
Можете ли вы объяснить код?
2

Вот на сайте Google

111

EditText input = new EditText(this);
input.setInputType(InputType.TYPE_CLASS_NUMBER);
5

android:inputType="numberDecimal"

Похожие вопросы