相关疑难解决方法(0)

如何将EditText输入限制为数字(可能是十进制和带符号)输入?

我读过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照常接受所有输入).

那么,我该怎么做?

android android-edittext

53
推荐指数
6
解决办法
9万
查看次数

Android InputType布局参数 - 如何允许负小数?

我有一个布局,有三个字段用于输入三个地图坐标.到现在为止还挺好.我在布局中使用android:inputType ="numberDecimal".当进入该字段时,用户获得数字小键盘.还好.

但是,当需要输入负坐标时,没有明显的方法可以做到这一点.

23.2342工作正常.232.3421工作正常.无法输入-11.23423 - 无法输入前导负号,甚至无法将坐标包装在()中.

我确信我可以将其更改为直接文本inputType,然后使用正则表达式来验证输入的内容实际上是一个数字坐标,处理错误消息回发给用户等等.但是我会而不是去那条路.

我用谷歌搜索和Stackoverflowed这个问题几个小时没有运气.有什么建议?

layout android

52
推荐指数
4
解决办法
3万
查看次数

标签 统计

android ×2

android-edittext ×1

layout ×1