web-dev-qa-db-fra.com

Configurer Android EditText pour autoriser les nombres décimaux et les négatifs

J'ai un Android EditText pour lequel le clavier numérique doit être affiché. 

Si je règle Android: inputType sur numberSigned, je reçois le clavier numérique et la possibilité de saisir des négatifs. Cependant, cela ne me laissera pas utiliser de décimales. Si j'utilise inputType numberDecimal, je peux utiliser des nombres décimaux, mais pas des négatifs. 

Comment obtenez-vous le clavier numérique avec la possibilité de taper des nombres décimaux et des nombres négatifs?

31
Owen Campbell

Vous manquez juste cela dans votre EditText,

Android:inputType="numberDecimal|numberSigned"
79
Lalit Poptani

On peut utiliser,

edit_text.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_SIGNED);

si nous avons besoin d'utiliser par programme .. 

13
Rukmal Dias

Voir ce lien peut-être que c'est vous aider http://developer.Android.com/resources/articles/creating-input-method.html

et Les valeurs possibles pour le type Android: inputtype sont:

•none
•text
•textCapCharacters
•textCapWords
•textCapSentences
•textAutoCorrect
•textAutoComplete
•textMultiLine
•textImeMultiLine
•textNoSuggestions
•textUri
•textEmailAddress
•textEmailSubject
•textShortMessage
•textLongMessage
•textPersonName
•textPostalAddress
•textPassword
•textVisiblePassword
•textWebEditText
•textFilter
•textPhonetic
•textWebEmailAddress
•textWebPassword
•number
•numberSigned
•numberDecimal
•numberPassword
•phone
•datetime
•date
•time
4
kalpana c

Certains téléphones ont les décimales et les négatives dans le même bouton et le rendent incapable de faire des négations. J'ai imaginé un moyen de séparer les boutons en ajoutant simplement-

Android:inputType="numberDecimal|numberSigned|textPersonName"

Android: digits = "0123456789-."

De cette façon, vous avez toujours la disposition du clavier numérique, mais les boutons décimal et négatif sont séparés et vous ne pouvez utiliser aucun autre chiffre qui perturbe l'application.

1

cela a fonctionné pour moi par programmation

editText.setInputType (InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_SIGNED);

0
fmag