java - 在 Android 的 EditText 中编辑文本时仅显示英文字符

标签 java android xml

我在 Android 设备的键盘上有 3 种语言,当开始在 EditText 中编辑文本(如用户名字段)时,我只想显示英文字母和数字,我尝试在 XML 文件中使用这一行来编辑文本,但没有任何结果.

android:digits="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890"

最佳答案

最好的方法是使用 inputfilter 并将其设置为您的 editText 您可以在此处查看解决方法:

How do I use InputFilter to limit characters in an EditText in Android?

我还找到了如下代码 fragment :

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

关于java - 在 Android 的 EditText 中编辑文本时仅显示英文字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41242524/

相关文章:

java - java中的preparedStatement SQL错误

android - 实现 AsyncTask 线程的问题

java - LibGDX/Android开发: Managing cameras across multiple screens

java - Android FileOutputStream 不创建文件

android - 可以使用 GradientColor 完全在 XML 中定义填充或描边的渐变吗?

java - 在饼图中隐藏小值 MPAndroidChart

java - CancelSelection() 后 JFileChooser 不会消失

c# - 有关在 .Net 中编写 XML 文件的问题吗?

android - 如何在 NativeScript 中更改应用程序名称

java - 是否可以在 Java 中创建泛型的二维锯齿状数组?