Básicamente, solo quiero cambiar al modo de teclado numérico tan pronto como un cierto EditText tenga el foco.
fuente
Básicamente, solo quiero cambiar al modo de teclado numérico tan pronto como un cierto EditText tenga el foco.
Para hacerlo en un archivo Java:
EditText input = new EditText(this);
input.setInputType(InputType.TYPE_CLASS_NUMBER);
Esta implementación me pareció útil, muestra un mejor teclado y limita los caracteres de entrada.
<EditText
android:inputType="phone"
android:digits="1234567890"
...
/>
Además, puede usar android:maxLength
para limitar la cantidad máxima de números.
Para hacer esto programáticamente:
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"/>
mostrará el teclado numérico grande como marcador.
Puedes hacerlo de 2 maneras
Conjunto de tiempo de ejecución
EditText input = new EditText(this);
input.setInputType(InputType.TYPE_CLASS_NUMBER);
Usando XML
<EditText
...
android:inputType="number" />
Si necesita un número fraccionario, esta es la respuesta para usted:
android:inputType="numberDecimal"
Si está utilizando su EditText en el cuadro de diálogo o está creando dinámicamente y no puede configurarlo desde xml, este ejemplo lo ayudará a configurar ese tipo de teclado mientras usa Editar texto dinámico, etc.
myEditTxt.setInputType(InputType.TYPE_CLASS_NUMBER);
donde myEditTxt es el objeto dinámico EDITAR TEXTO (nombre)
editText.setRawInputType(InputType.TYPE_CLASS_NUMBER);
El siguiente código solo permitirá números "0123456789”, incluso si accidentalmente escribe otro que no sea "0123456789”, no se aceptará la edición de texto.
EditText number1 = (EditText) layout.findViewById(R.id.edittext);
number1.setInputType(InputType.TYPE_CLASS_NUMBER|InputType.TYPE_CLASS_PHONE);
number1.setKeyListener(DigitsKeyListener.getInstance("0123456789”));
Use el siguiente código en el archivo java
editText.setRawInputType (Configuration.KEYBOARD_QWERTY);
Defina esto en su código xml
android:inputType="number"
EditText number1 = (EditText) layout.findViewById(R.id.edittext);
number1.setInputType(InputType.TYPE_CLASS_NUMBER);