我有一个edittext我只想插入整数值.谁能告诉我我必须使用哪个属性?
我本质上是尝试以编程方式设置EditText的数字值.到目前为止,我有:
weightInput.setInputType(InputType.TYPE_CLASS_PHONE);
weightInput.setKeyListener(DigitsKeyListener.getInstance());
Run Code Online (Sandbox Code Playgroud)
这很好,但我也希望能够包含小数位(.).有任何想法吗?
我读过Android:将EditText限制为数字,如何在android中的EditText上显示数字键盘?.不幸的是,它们似乎都不符合我的需求.
我想将EditText输入限制为仅限数字.但是,我还想允许签名和/或十进制输入.
这是我当前的代码(我需要以编程方式执行此操作):
EditText edit = new EditText(this);
edit.setHorizontallyScrolling(true);
edit.setInputType(InputType.TYPE_CLASS_NUMBER);
Run Code Online (Sandbox Code Playgroud)
有了这个,我的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)
Run Code Online (Sandbox Code Playgroud)
这也不起作用(EditText照常接受所有输入).
那么,我该怎么做?
EditText.setInputType和setRawInputType之间有什么区别.
我有一个应该允许所有字符的字段,但我有一个模式按钮,可以在数字键盘和字母键盘之间切换.
所以我想要数字键盘时它们是"部件号"搜索模式,但是当它们是"描述"搜索模式时需要阿尔法键盘.
Android OS 2.2或更高版本.