安卓EditText如何设置让只能输入数字和英文字母,
时间: 2024-04-16 07:28:43 浏览: 172
您可以通过使用InputFilter来限制EditText只能输入数字和英文字母。下面是一个示例代码:
```java
EditText editText = findViewById(R.id.editText);
InputFilter filter = new InputFilter() {
@Override
public CharSequence filter(CharSequence source, int start, int end,
Spanned dest, int dstart, int dend) {
StringBuilder sb = new StringBuilder();
for (int i = start; i < end; i++) {
char c = source.charAt(i);
if (Character.isLetterOrDigit(c)) {
// 只允许输入字母和数字
sb.append(c);
}
}
return sb.toString();
}
};
// 设置输入过滤器
editText.setFilters(new InputFilter[]{filter});
```
在上面的代码中,我们创建了一个InputFilter对象,并实现了它的filter方法。在该方法中,我们遍历了输入的每个字符,并使用Character.isLetterOrDigit方法来判断字符是否为字母或数字。如果是,则将其添加到一个StringBuilder中。
最后,我们将这个InputFilter对象设置给EditText的输入过滤器,这样就可以实现只能输入数字和英文字母的效果。其他字符将被过滤掉。
阅读全文