【发布时间】:2011-10-18 15:52:24
【问题描述】:
我已阅读 Android: Limiting EditText to numbers 和 How do I show the number keyboard on an EditText in android?。不幸的是,它们似乎都不符合我的需求。
我想将我的 EditText 输入限制为仅限数字。但是,我也希望允许有符号和/或十进制输入。
这是我当前的代码(我需要以编程方式执行此操作):
EditText edit = new EditText(this);
edit.setHorizontallyScrolling(true);
edit.setInputType(InputType.TYPE_CLASS_NUMBER);
有了这个,我的 EditText 愉快地将所有输入限制为数字。不幸的是,它不允许任何其他内容,例如小数点。
如果我将该行更改为 edit.setInputType(InputType.TYPE_NUMBER_FLAG_DECIMAL),EditText 将接受所有输入(这不是我想要的......)。
我尝试过组合标志(绝望地想看看它是否可行):
edit.setInputType(InputType.TYPE_CLASS_NUMBER);
edit.setInputType(InputType.TYPE_NUMBER_FLAG_DECIMAL)
edit.setInputType(InputType.TYPE_NUMBER_FLAG_SIGNED)
这也不起作用(EditText 像往常一样接受所有输入)。
那么,我该怎么做呢?
【问题讨论】:
-
以编程方式?所以你会反对 XML 布局解决方案?
-
我不会反对,只要我可以即时创建 EditText。