Comment puis-je afficher le clavier numérique sur un EditText dans Android?
-
12-09-2019 - |
Question
Je viens essentiellement veux passer au numéro mode pad dès un certain EditText a le focus.
Autres conseils
Pour le faire dans un fichier Java:
EditText input = new EditText(this);
input.setInputType(InputType.TYPE_CLASS_NUMBER);
Je trouve cette mise en œuvre utile, montre un meilleur clavier et limite les caractères d'entrée.
<EditText
android:inputType="phone"
android:digits="1234567890"
...
/>
De plus, vous pouvez utiliser android:maxLength
pour limiter la quantité maximum de chiffres.
Pour ce faire par programme:
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"/>
montrera le grand pavé numérique comme numéroteur.
Vous pouvez le faire de 2 façons
-
Runtime set
EditText input = new EditText(this); input.setInputType(InputType.TYPE_CLASS_NUMBER);
-
Utilisation de XML
<EditText ... android:inputType="number" />
Si vous avez besoin fractionnaire, alors ceci est la réponse pour vous:
android:inputType="numberDecimal"
Si vous utilisez votre EditText dans la boîte de dialogue ou de créer dynamiquement et vous ne pouvez pas le définir à partir de XML alors cet exemple vous aider à établir ce type de clavier pendant que vous utilisez Modifier le texte dynamique etc
myEditTxt.setInputType(InputType.TYPE_CLASS_NUMBER);
où myEditTxt est l'objet de texte dynamique EDIT (nom)
Ci-dessous le code ne permettra numéros « 0123456789” , même si vous tapez accidentellement autre que » 0123456789” , modifier le texte n'acceptera pas.
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);
Utilisez le code ci-dessous dans le fichier java
editText.setRawInputType (Configuration.KEYBOARD_QWERTY);
Définir dans votre code xml
android:inputType="number"
EditText number1 = (EditText) layout.findViewById(R.id.edittext);
number1.setInputType(InputType.TYPE_CLASS_NUMBER);