如何以编程方式将EditText的InputType设置为整数或小数?

时间:2016-11-07 04:00:51

标签: android android-edittext android-inputtype

如何以编程方式配置EditText以允许:

  
      
  1. 正整数值或负整数值

  2.   
  3. 正或负十进制值

  4.   

即使使用https://developer.android.com/reference/android/text/InputType.html

,我也很难找到可行的方法

4 个答案:

答案 0 :(得分:27)

您可以使用此代码:

EditText edt = new EditText(context);
edt.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL); //for decimal numbers
edt.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_SIGNED); //for positive or negative values

如果在一起:

edt.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL | InputType.TYPE_NUMBER_FLAG_SIGNED);

答案 1 :(得分:4)

如果有人需要,这是科特林的答案:

et_text.inputType = InputType.TYPE_NUMBER_FLAG_SIGNED + InputType.TYPE_CLASS_NUMBER

答案 2 :(得分:0)

Kotlin 中的工作方式与 Java 没什么不同

et_text.inputType = InputType.TYPE_CLASS_NUMBER or InputType.TYPE_NUMBER_FLAG_DECIMAL
et_text.inputType = InputType.TYPE_CLASS_NUMBER or InputType.TYPE_NUMBER_FLAG_SIGNED

答案 3 :(得分:-7)

你需要添加android:inputType =" number"在Androidmenifest.xml中

或者转到:How to force EditText to accept only numbers?