web-dev-qa-db-fra.com

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. Existe-t-il un moyen dans Android pour afficher le clavier numérique souple lors de la mise au point sur un EditText, tout en permettant la saisie de texte?

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

39
Lyudmil

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 .

34
rDroid

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).

8
Blundell

Notez que: setRawInputType (InputType.TYPE_CLASS_NUMBER);

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

Sur htc, cela fonctionne bien, mais sur Galaxy Tab II, vous obtenez uniquement le clavier numérique et aucun moyen de revenir à l'alpha.

7
Mark

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

4
Mostafiz

Il semble que la question sous-jacente à laquelle vous avez à faire est: comment puis-je permettre à l'utilisateur de saisir des quantités?

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

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

2
Cheezmeister