39 votes

Comment puis-je utiliser par défaut le clavier numérique sur EditText sans forcer la saisie numérique ?

Cela a été demandé ailleurs en ligne en vain. Y a-t-il un moyen dans Android d'afficher le clavier numérique lorsque vous vous concentrez sur un EditText, mais tout en permettant la saisie de texte ?

Je voudrais laisser l'utilisateur entrer des quantités (par exemple "1 kg", "2 L"), donc il suffit de définir inputType="number" ne fonctionnera pas.

33voto

rDroid Points 1942

Ajoutez la ligne de code suivante, et elle fera l'affaire :)

editText.setRawInputType(Configuration.KEYBOARD_QWERTY);

Cela affichera d'abord le pavé numérique, mais vous permettra également de saisir du texte libre.

Plus d'informations ici.

8voto

Blundell Points 28342

Cela peut dépendre de l'appareil, mais avez-vous essayé :

 android:inputType="phone"

Lien Tous les types d'entrée

dans le xml de EditText, cela vous donne le clavier numérique, mais vous pouvez toujours passer aux lettres si vous le souhaitez. (Au moins sur mon Nexus One).

7voto

Zorac Points 247

Notez que : setRawInputType(InputType.Type_CLASS_NUMBER) ;

a l'effet désiré sur certains appareils mais pas sur d'autres...

Sur htc, il fonctionne bien, mais sur la galaxie onglet II, vous obtenez seulement le clavier numérique et aucun moyen de revenir à l'alpha.

4voto

Mostafiz Points 49

écrire le code en XML, android :numeric="integer" android :inputType="phone" android :digits="1234567890"

2voto

Cheezmeister Points 2109

Il semble que la question sous-jacente à laquelle vous faites face est : comment puis-je permettre à l'utilisateur d'entrer des quantités ?

Une réponse appropriée est : avec une entrée numérique, couplée à une certaine forme de sélection de catégorie pour l'unité, par exemple radio, déroulant, ou spinner. Ceci est probablement plus facile à utiliser et vous évite également le mal de tête d'avoir à valider votre entrée à chaque fois.

Vous pouvez également simplement avoir des cojones de fer et écrire un clavier logiciel personnalisé.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X