如何以编程方式将 EditText 的 InputType 设置为整数或小数?
How to programmatically set EditText's InputType to integer or decimal?
如何以编程方式配置 EditText 以允许:
Positive or negative integer values
Positive or negative decimal values
即使使用 https://developer.android.com/reference/android/text/InputType.html
,我也很难找到它的工作原理
您需要在Androidmenifest.xml
中添加android:inputType="number"
或前往:How to force EditText to accept only numbers?
您可以使用此代码:
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);
如果有人需要,这是 Kotlin 中的答案:
et_text.inputType = InputType.TYPE_NUMBER_FLAG_SIGNED + InputType.TYPE_CLASS_NUMBER
在 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
如何以编程方式配置 EditText 以允许:
Positive or negative integer values
Positive or negative decimal values
即使使用 https://developer.android.com/reference/android/text/InputType.html
,我也很难找到它的工作原理您需要在Androidmenifest.xml
中添加android:inputType="number"或前往:How to force EditText to accept only numbers?
您可以使用此代码:
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);
如果有人需要,这是 Kotlin 中的答案:
et_text.inputType = InputType.TYPE_NUMBER_FLAG_SIGNED + InputType.TYPE_CLASS_NUMBER
在 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