Come posso mostrare la tastiera il numero su un EditText in Android?
-
12-09-2019 - |
Domanda
Ho appena fondamentalmente voglio passare alla modalità tastierino numerico non appena un certo EditText ha il focus.
Altri suggerimenti
Per fare in un file Java:
EditText input = new EditText(this);
input.setInputType(InputType.TYPE_CLASS_NUMBER);
Ho trovato questa implementazione utile, mostra una migliore tastiera e limita caratteri di input.
<EditText
android:inputType="phone"
android:digits="1234567890"
...
/>
Inoltre, è possibile utilizzare android:maxLength
per limitare la quantità massima di numeri.
Per fare questo a livello di codice:
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"/>
mostrerà il gran numero di pad come dialer.
Si può fare 2 modi
-
set Runtime
EditText input = new EditText(this); input.setInputType(InputType.TYPE_CLASS_NUMBER);
-
Utilizzando XML
<EditText ... android:inputType="number" />
Se avete bisogno di numero frazionario, allora questa è la risposta per voi:
android:inputType="numberDecimal"
Se si utilizza l'EditText nella finestra di dialogo o la creazione in modo dinamico e non è possibile impostare da xml, allora questo esempio vi aiuterà nella creazione di questo tipo di tastiera mentre si sta utilizzando dinamica Modifica testo etc
myEditTxt.setInputType(InputType.TYPE_CLASS_NUMBER);
dove myEditTxt è l'oggetto EDIT testo dinamico (nome)
Altri tipi di input e dettagli trovato qui sul sito web di Google
Di seguito il codice consente solo numeri "0123456789” , anche se accidentalmente tipo diverso da" 0123456789” , modifica del testo non accetterà.
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);
Utilizza il codice qui sotto nel file di java
editText.setRawInputType (Configuration.KEYBOARD_QWERTY);
Definisci questa nel codice XML
android:inputType="number"
EditText number1 = (EditText) layout.findViewById(R.id.edittext);
number1.setInputType(InputType.TYPE_CLASS_NUMBER);