Je veux juste fondamentalement passer en mode pavé numérique dès qu'un certain EditText a le focus.Comment afficher le clavier numérique sur un EditText dans android?
Répondre
Vous pouvez configurer un inputType
pour votre EditText
:
<EditText android:inputType="number" ... />
C'est étonnamment facile. acclamations –
Notez également que vous devez cibler Android 1.5 pour l'utiliser (ce n'est pas disponible dans 1.1) – Wilka
Le problème est que vous ne pouvez pas revenir en arrière. L'utilisation de "number | text" ne fonctionne pas non plus. Il semble que si vous voulez afficher un clavier numérique, vous ne pouvez pas le laisser revenir au texte. –
Pour le faire dans un fichier Java:
EditText input = new EditText(this);
input.setInputType(InputType.TYPE_CLASS_NUMBER);
J'ai trouvé 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);
Y at-il un moyen de faire cela par programme? Mourir pour obtenir un clavier numérique limité pour mon EditText mais il est configuré de telle sorte qu'il doit être généré dans l'activité. – santafebound
Si vous utilisez votre EditText dans la boîte de dialogue ou de créer dynamiquement et vous ne pouvez le définir à partir de XML alors cet exemple vous aidera à établir ce type de tout à clavier vous utilisez dynamique Modifier le texte etc
myEditTxt.setInputType(InputType.TYPE_CLASS_NUMBER);
où myEditTxt est l'objet TEXT EDIT dynamique (nom)
vous pouvez le faire de 2 façons
Runtime mis
EditText input = new EditText(this); input.setInputType(InputType.TYPE_CLASS_NUMBER);
Utilisation de XML
<EditText ... android:inputType="number" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
...
android:inputType="number|phone"/>
montrera le grand pavé numérique comme transmetteur téléphonique.
exactement ce dont j'ai besoin! – jjLin
editText.setRawInputType(InputType.TYPE_CLASS_NUMBER);
Plus de types d'entrée et les détails trouvés here sur le site google
Si vous avez besoin fractionnaire, alors ceci est la réponse pour vous:
android:inputType="numberDecimal"
Define dans votre code xml
android:inputType="number"
Utilisez le code suivant dans le fichier java
editText.setRawInputType (Configuration.KEYBOARD_QWERTY);
EditText number1 = (EditText) layout.findViewById(R.id.edittext);
number1.setInputType(InputType.TYPE_CLASS_NUMBER);
Pouvez-vous s'il vous plaît expliquer le code? – MBH
La question ne précise pas le désir de changer le type d'entrée autorisé. Il demande simplement comment changer le mode clavier, ce que je voudrais faire sans changer le type d'entrée. Toutes les réponses expliquent comment changer le type d'entrée. – AlanKley
Vérifiez ma réponse à cette question http: // stackoverflow.com/questions/39593324/ne peut pas-résoudre-symbole-showsoftinput/39593871 # 39593871 –