Как показать цифровую клавиатуру в EditText в Android?
-
12-09-2019 - |
Вопрос
Я просто хочу переключиться в режим цифровой клавиатуры, как только определенный EditText окажется в фокусе.
Другие советы
Чтобы сделать это в файле Java:
EditText input = new EditText(this);
input.setInputType(InputType.TYPE_CLASS_NUMBER);
Я нашел эту реализацию полезной, показывает лучшую клавиатуру и ограничивает ввод символов.
<EditText
android:inputType="phone"
android:digits="1234567890"
...
/>
Кроме того, вы можете использовать android:maxLength
чтобы ограничить максимальное количество чисел.
Чтобы сделать это программно:
editText.setInputType(InputType.TYPE_CLASS_PHONE);
KeyListener keyListener = DigitsKeyListener.getInstance("1234567890");
editText.setKeyListener(keyListener);
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
...
android:inputType="number|phone"/>
отобразит большую цифровую клавиатуру как номеронабиратель.
Вы можете сделать это 2 способами
Набор времени выполнения
EditText input = new EditText(this); input.setInputType(InputType.TYPE_CLASS_NUMBER);
Использование XML
<EditText ... android:inputType="number" />
Если вам нужно дробное число, то это ответ для вас:
android:inputType="numberDecimal"
Если вы используете EditText в диалоговом окне или создаете его динамически, и вы не можете установить его из XML, тогда этот пример поможет вам установить этот тип клавиатуры при использовании динамического редактирования текста и т. д.
myEditTxt.setInputType(InputType.TYPE_CLASS_NUMBER);
где myEditTxt — динамический объект РЕДАКТИРОВАТЬ ТЕКСТ (имя)
Найдено больше типов ввода и деталей здесь на сайте гугла
В приведенном ниже коде разрешены только цифры «0123456789», даже если вы случайно наберете другое значение, чем «0123456789», текст редактирования не будет принят.
EditText number1 = (EditText) layout.findViewById(R.id.edittext);
number1.setInputType(InputType.TYPE_CLASS_NUMBER|InputType.TYPE_CLASS_PHONE);
number1.setKeyListener(DigitsKeyListener.getInstance("0123456789”));
editText.setRawInputType(InputType.TYPE_CLASS_NUMBER);
Используйте приведенный ниже код в Java-файле
editText.setRawInputType(Configuration.KEYBOARD_QWERTY);
Определите это в своем XML-коде
android:inputType="number"
EditText number1 = (EditText) layout.findViewById(R.id.edittext);
number1.setInputType(InputType.TYPE_CLASS_NUMBER);