Je veux simplement passer en mode pavé numérique dès qu'un certain EditText a le focus.
Je veux simplement passer en mode pavé numérique dès qu'un certain EditText a le focus.
Réponses:
J'ai trouvé cette implémentation 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 le nombre maximum de nombres.
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"/>
affichera le grand pavé numérique comme numéroteur.
Vous pouvez le faire de 2 façons
Ensemble d'exécution
EditText input = new EditText(this);
input.setInputType(InputType.TYPE_CLASS_NUMBER);
Utilisation de XML
<EditText
...
android:inputType="number" />
Si vous utilisez votre EditText dans Dialog ou créez dynamiquement et que vous ne pouvez pas le définir à partir de xml, cet exemple vous aidera à définir ce type de clavier pendant que vous utilisez Dynamic Edit Text, etc.
myEditTxt.setInputType(InputType.TYPE_CLASS_NUMBER);
où myEditTxt est l'objet dynamique EDIT TEXT (nom)
editText.setRawInputType(InputType.TYPE_CLASS_NUMBER);
Plus de types d'entrées et de détails trouvés ici sur le site Web de Google
Le code ci-dessous n'autorisera que les chiffres "0123456789", même si vous saisissez accidentellement autre que "0123456789", le texte d'édition ne sera pas accepté.
EditText number1 = (EditText) layout.findViewById(R.id.edittext);
number1.setInputType(InputType.TYPE_CLASS_NUMBER|InputType.TYPE_CLASS_PHONE);
number1.setKeyListener(DigitsKeyListener.getInstance("0123456789”));
EditText number1 = (EditText) layout.findViewById(R.id.edittext);
number1.setInputType(InputType.TYPE_CLASS_NUMBER);