Comment puis-je afficher le clavier numérique sur un EditText sur android?
je veux simplement basculer sur le mode nombre pad dès qu'un certain EditText a le focus.
12 réponses
vous pouvez configurer un inputType
pour votre EditText
:
<EditText android:inputType="number" ... />
pour le faire dans un fichier Java:
EditText input = new EditText(this);
input.setInputType(InputType.TYPE_CLASS_NUMBER);
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 numéros.
pour ce faire par programmation:
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 pavé numérique comme composeur.
Vous pouvez le faire de 2 façons
-
Runtime set
EditText input = new EditText(this); input.setInputType(InputType.TYPE_CLASS_NUMBER);
-
utilisant XML
<EditText ... android:inputType="number" />
si vous avez besoin du nombre fractionnaire, alors c'est la réponse pour vous:
android:inputType="numberDecimal"
si vous utilisez votre texte édité dans la boîte de dialogue ou si vous créez dynamiquement et que vous ne pouvez pas le définir à partir du xml, alors cet exemple vous aidera à définir ce type de tableau de touches pendant que vous utilisez le texte édition dynamique etc
myEditTxt.setInputType(InputType.TYPE_CLASS_NUMBER);
où myEditTxt est l'objet dynamic EDIT TEXT (nom)
autres types d'entrées et détails trouvés ici sur le site google
utilisez le code ci-dessous dans le fichier java
editText.setRawInputType (Configuration.KEYBOARD_QWERTY);
EditText number1 = (EditText) layout.findViewById(R.id.edittext);
number1.setInputType(InputType.TYPE_CLASS_NUMBER);