Como faço para mostrar o teclado numérico em um EditText no android?
-
12-09-2019 - |
Pergunta
Eu basicamente só quero mudar para o modo numérico, logo uma certa EditText tem o foco.
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
-
Runtime set
EditText input = new EditText(this); input.setInputType(InputType.TYPE_CLASS_NUMBER);
-
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);