在Android中以编程方式仅使用“,0123456789”设置编辑文本?

2022-09-04 03:12:56

我的问题是这样的。

我可以用xml说

android:digits="0123456789,"

但是这次我必须通过java代码添加它。

customEditText.setKeyListener(DigitsKeyListener.getInstance("0123456789,"));

不起作用。应用程序给我的结果与android相同:InputType=“number”

那么有没有其他方法可以使用java说android:digits?

编辑

所以我的问题不是如何使用java。android:InputType="number"

我的问题是,我如何才能与java一起使用。android:digits="0123456789,"

在这一点上,我不在乎用户是否可以看到字符。我只希望我的编辑文本字段只接受从0到9的数字和十进制逗号(,)。

由于自定义编辑文本实际上是自定义编辑文本,因此我无法使用xml atm。


答案 1

尝试customEditText.setRawInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL);


答案 2
EditText ed;
ed.setInputType(InputType.TYPE_CLASS_NUMBER);

文档也可能有所帮助