webentwicklung-frage-antwort-db.com.de

Konfigurieren Sie Android EditText, um Dezimalzahlen und Negative zuzulassen

Ich habe ein Android EditText, bei dem ich die Nummerntastatur aufrufen möchte. 

Wenn ich den Android: inputType auf numberSigned gesetzt habe, bekomme ich die Zahlentastatur und die Möglichkeit, Negative einzugeben. Dies lässt mich jedoch keine Dezimalzahlen verwenden. Wenn ich den numberDecimal inputType verwende, kann ich Dezimalzahlen verwenden, jedoch keine Negative. 

Wie bekommen Sie die Zahlentastatur mit der Möglichkeit, Dezimalzahlen und Negative einzugeben?

31
Owen Campbell

Sie vermissen dies nur in Ihrem EditText,

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

Wir können benutzen,

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

wenn wir programmgesteuert verwenden müssen .. 

13
Rukmal Dias

Sehen Sie diesen Link, es könnte Ihnen helfen http://developer.Android.com/resources/articles/creating-input-method.html

und die möglichen Werte für den Eingabetyp Android:

•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

Einige Telefone haben Dezimal- und Negativzeichen in derselben Taste und können daher keine Negative ausführen. Ich fand einen Weg, wie Sie die Tasten durch einfaches Hinzufügen von

Android:inputType="numberDecimal|numberSigned|textPersonName"

Android: Ziffern = "0123456789-."

Auf diese Weise haben Sie immer noch die Anzahl der Tastaturbelegungen, aber die negativen und dezimalen Tasten sind getrennt, und Sie können keine andere Ziffer verwenden, die die App beschädigt.

1

das hat für mich programmatisch funktioniert

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

0
fmag