允许使用数字在 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中提到的字符只会显示,所以请注意不要遗漏一些:)
我正在使用允许特定字符使用的 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中提到的字符只会显示,所以请注意不要遗漏一些:)