Básicamente, solo quiero cambiar al modo de teclado numérico tan pronto como un cierto EditText tenga el foco.
Básicamente, solo quiero cambiar al modo de teclado numérico tan pronto como un cierto EditText tenga el foco.
Respuestas:
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 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);
Más tipos de entrada y detalles encontrados aquí en el sitio web de Google
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”));
EditText number1 = (EditText) layout.findViewById(R.id.edittext);
number1.setInputType(InputType.TYPE_CLASS_NUMBER);