Pergunta

Eu basicamente só quero mudar para o modo numérico, logo uma certa EditText tem o foco.

Foi útil?

Solução

Você pode configurar um inputType para sua EditText :

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

Outras dicas

Para fazê-lo em um arquivo Java:

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

Eu encontrei esta aplicação útil, mostra um melhor teclado e limites de caracteres de entrada.

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

Além disso, você poderia usar android:maxLength para limitar a quantidade máxima de números.

Para fazer isso programaticamente:

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á o bloco grande número como discador.

Você pode fazer isso de 2 maneiras

  1. Runtime set

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

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

Se você precisar de número fracionário, então esta é a resposta para você:

android:inputType="numberDecimal"

Se você estiver usando seu EditText na caixa de diálogo ou criar dinamicamente e você não pode configurá-lo de xml, em seguida, este exemplo irá ajudá-lo na criação desse tipo de placa chave enquanto você estiver usando dinâmica Editar texto etc

myEditTxt.setInputType(InputType.TYPE_CLASS_NUMBER);

onde myEditTxt é o objeto de edição dinâmica TEXT (nome)

Mais tipos de entrada e detalhes encontrados aqui no google website

Abaixo código só permitirá números "0123456789” , mesmo se você acidentalmente tipo diferente de" 0123456789” , editar texto não vai aceitar.

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

Use o código abaixo no arquivo java

editText.setRawInputType (Configuration.KEYBOARD_QWERTY);

Definir isso no seu código XML

android:inputType="number"
EditText number1 = (EditText) layout.findViewById(R.id.edittext); 
number1.setInputType(InputType.TYPE_CLASS_NUMBER);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top