Android 代码设置EditText过滤汉字
16lz
2021-01-23
/** * 设置EditText是否过滤汉字 */ public static void SetEditTextFilter(EditText editText, final boolean filterChinese) { 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 (filterChinese == (isChinese(source.charAt(i)))) { return ""; } } return null; } }; editText.setFilters(new InputFilter[]{filter}); } /** * 判断输入字符是否是汉字 * * @param c 输入字符 * @return 是否是汉字 */ public static boolean isChinese(char c) { Character.UnicodeBlock ub = Character.UnicodeBlock.of(c); return ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS || ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A || ub == Character.UnicodeBlock.GENERAL_PUNCTUATION || ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION || ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS; }
更多相关文章
- android 字符串加解密算法
- Android 输入框限制字符输入数
- 【Android 应用开发】Android资源文件 - 使用资源存储字符串 颜
- Android通过AES128加密解密字符串
- 2011.07.11(3)——— android xliff字符串操作
- android EditText 如何限制只能输入指定的字符
- android studio 报编码 GBK 的不可映射字符问题
- android 加密字符串