我在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});

07-28 04:41