Pregunta

Yo, básicamente, sólo quiero cambiar al modo de teclado numérico tan pronto cierta EditarTexto tiene el foco.

¿Fue útil?

Solución

Puede configurar un inputType para su EditText :

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

Otros consejos

Para hacerlo en un archivo Java:

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

Me pareció que esta aplicación útil, muestra una mejor teclado y limita caracteres de entrada.

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

Además, se puede usar android:maxLength para limitar la cantidad máxima de números.

Para hacer esto mediante programación:

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á la almohadilla grande número como marcador.

Puede hacerlo de 2 maneras

  1. Tiempo de ejecución definido

    EditText input = new EditText(this);
    input.setInputType(InputType.TYPE_CLASS_NUMBER);
    
  2. El uso de XML

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

Si necesitas número fraccionario, entonces esta es la respuesta para usted:

android:inputType="numberDecimal"

Si usted está utilizando su EditarTexto de diálogo o crear de forma dinámica y no se puede establecer a partir de XML a continuación, este ejemplo que le ayudará en la creación de ese tipo de teclado mientras esté usando Editar texto dinámico, etc.

myEditTxt.setInputType(InputType.TYPE_CLASS_NUMBER);

donde myEditTxt es el objeto EDITAR texto dinámico (nombre)

Más tipos de entrada y detalles encontrado aquí en sitios web de Google

A continuación código sólo permitirá a los números "0123456789” , incluso si accidentalmente tipo que no sea" 0123456789” , edición de texto no aceptará.

    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);

Utilice el siguiente código en el archivo Java

  

editText.setRawInputType (Configuration.KEYBOARD_QWERTY);

Definir esta en el código XML

android:inputType="number"
EditText number1 = (EditText) layout.findViewById(R.id.edittext); 
number1.setInputType(InputType.TYPE_CLASS_NUMBER);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top