将android EditText配置为允许小数和负数

问题描述 投票:33回答:5

我有一个Android EditText,我想打开数字键盘。

如果将android:inputType设置为numberSigned,则会得到数字键盘和输入否定字的功能。但是,这不会让我使用小数。如果使用numberDecimal inputType,则可以使用小数,但不能使用负数。

您如何获得能够输入小数和负数的数字键盘?

android android-edittext decimal
5个回答
84
投票

您只是在EditText中丢失了此内容,

android:inputType="numberDecimal|numberSigned"

15
投票

我们可以使用,

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

如果我们需要以编程方式使用。。


4
投票

请参阅此链接可能对您有帮助http://developer.android.com/resources/articles/creating-input-method.html

并且android:inputtype的可能值为:

•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

1
投票

某些电话在同一按钮中具有小数和负数,使其无法做负数。我想出了一种方法,您可以通过简单地添加-

来分离按钮
android:inputType="numberDecimal|numberSigned|textPersonName"

android:digits =“ 0123456789-。”

这样,您仍然可以使用数字键盘布局,但是负号和十进制按钮将是分开的,并且您不能使用其他任何乱七八糟的数字。


0
投票

这以编程方式为我工作。下面是代码:

editText.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_SIGNED);
© www.soinside.com 2019 - 2024. All rights reserved.