允许使用数字在 Edittext 中使用重音字符 Android

Allow accent character in Edittext using digits Android

我正在使用允许特定字符使用的 Edittext。比如 a-z A-Z 0-9 和特殊字符,比如 )&'(".

为了满足上述要求,我在 Edittext 中使用了 digits 来限制其他特殊字符的输入。

数字不支持 ' & " 字符,所以我分别使用 html 代码 ' & ; '。

现在的问题是我也想允许 accent 个字符。我发现重音 Á 的 html 代码是 Á ;但是 digits 显示错误

" 引用了实体 "Aacute",但未声明。 "。

请为此提供任何解决方案,或者是否有任何解决方案允许在 Edittext 中使用带有 a-z、A-Z、0-9 和 5 个特殊字符的重音字符 )&'("?

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 ( !Character.isLetterOrDigit(source.charAt(i)) || Character.toString(source.charAt(i)) .equals(")") || 
                 !Character.toString(source.charAt(i)) .equals("(")  ||
                !Character.toString(source.charAt(i)) .equals("\'")  ||
                !Character.toString(source.charAt(i)) .equals("&")  ||
                !Character.toString(source.charAt(i)) .equals("&")) { 
                            return ""; 
                    } 
            } 
            return null; 
    } 
}; 

edit.setFilters(new InputFilter[]{filter}); 

容易得多:

    <EditText
        android:digits="0123456789qwertzuiopasdfghjklyxcvbnmQWERTZUIOPASDFGHJKLYXCVBNM"
        android:inputType="text" />

在此数字中:也添加您的重音字符

请注意,android:digits中提到的字符只会显示,所以请注意不要遗漏一些:)