【发布时间】:2016-04-12 05:15:40
【问题描述】:
我需要限制用户在 EditText 中输入数字 (0-9),并允许从键盘输入所有其他字符。
以下代码不适用于以下场景。
如果用户输入一个字母,然后输入一个数字,editText 变为空。
InputFilter withoutNumberFilter = new InputFilter() {
public CharSequence filter(CharSequence source, int start, int end,
Spanned dest, int dstart, int dend) {
for (int i = start; i < end; i++) {
if (Character.isDigit(source.charAt(i))) {
return "";
}
}
return null;
}
};
editText.setFilters(new InputFilter[] { withoutNumberFilter });
【问题讨论】:
-
"以下代码不工作" 怎么不工作?您究竟希望它做什么,而它正在做什么?
-
它应该允许除 0-9 范围内的数字以外的所有其他字符。它应该允许字母、特殊字符、汉字等