之前有过一段时间,安卓输入框中禁止输入中文的实现方式是自定义一个TextWatcher,然后在afterTextChanged中判断是否输入的是中文,如果是中文则再做撤销回滚操作,也就是做删掉输入中文的处理。不过感觉只是为了处理这一个逻辑就要写那么多臃肿的代码,简洁性以及可阅读性不好,后来想到了使用InputFilter过滤的方式,大大简化了代码,并将该方法公布到工具类当中便于其他地方复用。
1、使用方法
public static void filterChinese(TextView v) {
v.setFilters(new InputFilter[]{new InputFilter() {
@Override
public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
if (null != source && String())) return "";
return source;
}
}});
}
// 完整的判断中文汉字和符号
@SuppressWarnings("unused")
private static boolean isChinese(String strName) {
char[] ch = CharArray();
for (char c : ch) {
if (isChinese(c)) {</
本文发布于:2024-01-29 01:17:27,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170646225211674.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |