it-roy-ru.com

Как мне показать цифровую клавиатуру на EditText в Android?

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

132
Chiwai Chan

Вы можете настроить inputType

Чтобы сделать это в файле Java:

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

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

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

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

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

editText.setInputType(InputType.TYPE_CLASS_PHONE);

KeyListener keyListener = DigitsKeyListener.getInstance("1234567890");
editText.setKeyListener(keyListener);
46
Matthijs
<EditText
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    ...
    Android:inputType="number|phone"/> 

покажет большую цифровую клавиатуру в качестве звонилки.

17
Nguyen Minh Binh

Вы можете сделать это 2 способами 

  1. Время выполнения 

    EditText input = new EditText(this);
    input.setInputType(InputType.TYPE_CLASS_NUMBER);
    
  2. Использование XML

    <EditText
        ...
        Android:inputType="number" />
    
10
Nirav Ranpara

Если вам нужно дробное число, то это ответ для вас:

Android:inputType="numberDecimal"
5
macio.Jun

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

myEditTxt.setInputType(InputType.TYPE_CLASS_NUMBER);

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

3
Pir Fahim Shah

Другие типы ввода и детали найдены здесь на сайте Google

2
sai Gorantla

Используйте приведенный ниже код в файле Java

editText.setRawInputType (Configuration.KEYBOARD_QWERTY);

1
Darshuu
editText.setRawInputType(InputType.TYPE_CLASS_NUMBER);
1
Aliya

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

Android:inputType="number"
0
fulgen
EditText number1 = (EditText) layout.findViewById(R.id.edittext); 
    number1.setInputType(InputType.TYPE_CLASS_NUMBER|InputType.TYPE_CLASS_PHONE);
     number1.setKeyListener(DigitsKeyListener.getInstance("0123456789”));

Этот код будет принимать только цифры от «0123456789», даже если вы случайно наберете «0123456789», текст редактирования не будет принят.

0
Akhila Madari
EditText number1 = (EditText) layout.findViewById(R.id.edittext); 
number1.setInputType(InputType.TYPE_CLASS_NUMBER);
0
ShivBuyya