确认在EditText控件中添加了android:digits属性,并正确设置要允许输入的字符集。例如,如果要限制只能输入数字和小数点,可以添加如下代码:
如果确认已经添加了android:digits属性并正确设置了要允许输入的字符集,但仍然无法限制输入,可以参考下面的示例代码进行处理:
val inputFilters = arrayOf(InputFilter { source, start, end, dest, dstart, dend -> val pattern = Pattern.compile("[0123456789.]") for (i in start until end) { val matcher = pattern.matcher(source[i].toString()) if (!matcher.matches()) { return@InputFilter "" } } null })
editTextDecimal.filters = inputFilters
其中,inputFilters是一个InputFilter数组,用于限制输入。InputFilter接口提供了一个方法filter(),用于对输入的文本进行处理。函数返回值为null,表示保留原始文本,返回空字符串"",表示删除输入的文本。在这里,我们使用正则表达式进行匹配,只允许输入数字和小数点。将过滤器数组设置给EditText控件即可。
上一篇:Android:尽管使用了maxLines和inputType,imeOptions仍然无效。
下一篇:Android:Layoutwithtranslucentbackgroundandshadowaroundborderonly