我在Android设备上的键盘上有3种语言,我想在EditText内部开始编辑文本时只显示英文字母和数字,比如用户名字段,我试图在xml文件中使用这行来编辑Edittext但没有任何结果
android:digits="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890"
答案 0 :(得分:1)
最好的方法是使用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});