我在Android设备上的键盘上有3种语言,并且在开始编辑诸如用户名字段之类的EditText中的文本时,我只想显示英文字母和数字,我试图在xml文件中使用此行作为Edittext,但没有任何结果。
android:digits="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890"
最佳答案
最好的方法是使用inputfilter
并将其设置为您的editText
,您可以在此处看到解决方法:
How do I use InputFilter to limit characters in an EditText in Android?
我也找到了如下的代码片段:
InputFilter filter = 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 (!isEnglishOrHebrew(source.charAt(i))) {
return "";
}
}
return null;
}
private boolean isEnglishOrHebrew(char c) {
. . .
}
};
edit.setFilters(new InputFilter[]{filter});