How do I restrict my EditText input to numerical (possibly decimal and signed) input?(如何将我的 EditText 输入限制为数字(可能是十进制和有符号)输入?)
问题描述
我已阅读 Android:将 EditText 限制为数字 和 如何在 android 的 EditText 上显示数字键盘?.不幸的是,它们似乎都不符合我的需求.
I have read Android: Limiting EditText to numbers and How do I show the number keyboard on an EditText in android?. Unfortunately, none of them seems to fit my needs.
我想将我的 EditText 输入限制为仅限数字.但是,我也希望允许有符号和/或十进制输入.
I want to restrict my EditText input to only numbers. However, I also want to allow signed and/or decimal input.
这是我当前的代码(我需要以编程方式执行此操作):
Here is my current code (I need to do this programmatically):
EditText edit = new EditText(this);
edit.setHorizontallyScrolling(true);
edit.setInputType(InputType.TYPE_CLASS_NUMBER);
有了这个,我的 EditText 愉快地将所有输入限制为数字.不幸的是,它不允许任何其他内容,例如小数点.
With this, my EditText merrily restricts all input to numerical digits. Unfortunately, it doesn't allow anything else, like the decimal point.
如果我将该行更改为 edit.setInputType(InputType.TYPE_NUMBER_FLAG_DECIMAL),EditText 将接受所有输入(这不是我想要的......).
If I change that line to edit.setInputType(InputType.TYPE_NUMBER_FLAG_DECIMAL), the EditText accepts all input (which isn't what I want...).
我尝试过组合标志(绝望地想看看它是否可行):
I've tried combining flags (in desperation to see if it would work):
edit.setInputType(InputType.TYPE_CLASS_NUMBER);
edit.setInputType(InputType.TYPE_NUMBER_FLAG_DECIMAL)
edit.setInputType(InputType.TYPE_NUMBER_FLAG_SIGNED)
这也不起作用(EditText 像往常一样接受所有输入).
That didn't work either (the EditText accepted all input as usual).
那么,我该怎么做呢?
推荐答案
尝试使用 TextView.setRawInputType()对应android:inputType属性.
这篇关于如何将我的 EditText 输入限制为数字(可能是十进制和有符号)输入?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何将我的 EditText 输入限制为数字(可能是十进制
基础教程推荐
- AdMob 广告未在模拟器中显示 2022-01-01
- iPhone - 获取给定地点/时区的当前日期和时间并将其与同一地点的另一个日期/时间进行比较的正确方法 2022-01-01
- libGDX 从精灵或纹理中获取像素颜色 2022-01-01
- navigator.geolocation.getCurrentPosition 在 Android 浏览器上 2022-01-01
- Cocos2d iPhone 非矩形精灵触摸检测 2022-01-01
- 如何从 logcat 中删除旧数据? 2022-01-01
- NSString intValue 不能用于检索电话号码 2022-01-01
- 通过重定向链接在 Google Play 中打开应用 2022-01-01
- iOS4 创建后台定时器 2022-01-01
- Android:getLastKnownLocation(LocationManager.NETWORK_PROVIDER 2022-01-01
