Configure android EditText to allow decimals and n

2019-03-22 14:35发布

I have an Android EditText that I want to have the number keyboard come up.

If I set the android:inputType to numberSigned, I get the number keyboard and the ability to type in negatives. However this won't let me use decimals. If I use the numberDecimal inputType I can use decimals but not negatives.

How do you get the number keyboard with the ability to type in decimals and negatives?

5条回答
Summer. ? 凉城
2楼-- · 2019-03-22 14:36

We can use,

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

if we need to use programmatically..

查看更多
不美不萌又怎样
3楼-- · 2019-03-22 14:39

You are just missing this in your EditText,

android:inputType="numberDecimal|numberSigned"
查看更多
欢心
4楼-- · 2019-03-22 14:43

Some phones have the decimal and negative in the same button and makes it unable to do negatives. I figured out a way you could separate the buttons by simply adding-

android:inputType="numberDecimal|numberSigned|textPersonName"

android:digits="0123456789-."

That way you still have the number keyboard layout but the negative and decimal buttons will be separate and you cannot use any other digit that messes up the app.

查看更多
Fickle 薄情
5楼-- · 2019-03-22 14:45

See this link may be it's help you http://developer.android.com/resources/articles/creating-input-method.html

and The possible values for the android:inputtype are:

•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
查看更多
爱情/是我丢掉的垃圾
6楼-- · 2019-03-22 15:00

this worked for me programmatically

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

查看更多
登录 后发表回答