2
A
回答
1
解决方案:
您需要在您的EditText
适用InputFilter。
例子:在您EditText
etNonCyrillic = (EditText) findViewById(R.id.etNonCyrillic);
etNonCyrillic .setFilters(new InputFilter[]{cyrillicFilter});
实施cyrillicFilter
设置过滤器:
public static InputFilter cyrillicFilter = new InputFilter() {
@Override
public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
boolean keepOriginal = true;
StringBuilder sb = new StringBuilder(end - start);
for (int i = start; i < end; i++) {
char c = source.charAt(i);
if (!isCyrillicCharacter(c))
{
sb.append(c);
}
else
{
keepOriginal = false;
}
}
if (keepOriginal)
return null;
else {
if (source instanceof Spanned) {
SpannableString sp = new SpannableString(sb);
TextUtils.copySpansFrom((Spanned) source, start, sb.length(), null, sp, 0);
return sp;
} else {
return sb;
}
}
}
@SuppressLint("NewApi")
private boolean isCyrillicCharacter(char c)
{
boolean isPriorToKitkat = android.os.Build.VERSION.SDK_INT<19;
UnicodeBlock block = UnicodeBlock.of(c);
boolean isCyrillicCharacter = (block.equals(UnicodeBlock.CYRILLIC) || block.equals(UnicodeBlock.CYRILLIC_SUPPLEMENTARY) || (isPriorToKitkat?false:(block.equals(UnicodeBlock.CYRILLIC_EXTENDED_A) || block.equals(UnicodeBlock.CYRILLIC_EXTENDED_B))));
return isCyrillicCharacter;
}
};
相关问题
- 1. Wordpress西里尔文编码
- 2. 如何str_replaceЃ(西里尔文)
- 3. CGContextShowTextAtPoint和西里尔文本
- 4. HTML中的粗体西里尔文本
- 5. SSIS脚本任务编辑器的西里尔字符
- 6. 西里尔文HelpProvider
- 7. 如何解码西里尔文的bson?
- 8. 如何获得西里尔文的答复文本
- 9. 如何将基于西里尔文的文本添加到mysql?
- 10. QT - 如何设置文件名编码到西里尔文
- 11. HTML5编码和西里尔文
- 12. 的preg_match使用西里尔文字
- 13. 如何在Wordpress中正确处理西里尔文编码?
- 14. 如何转换成西里尔文
- 15. tr [:upper:] [:lower:]与西里尔文本
- 16. 读西里尔文本与D3
- 17. 无法在Python 2.7.x中编码西里尔文字符
- 18. 检查字符串是拉丁字母还是西里尔文
- 19. java西里尔文字符识别API
- 20. 西里尔文字母为“???” - php
- 21. CounterPoint 8.3.9和西里尔文字体
- 22. $ _GET使用西里尔文字
- 23. ASIHTTPRequest和西里尔文字母
- 24. 用西里尔名字保存文件
- 25. 如何在Java中检测字符串是否包含西里尔字母?
- 26. XCode,字符串编码,西里尔文字母
- 27. 如何从CustomAlertDialog中的文本编辑器中检索文本
- 28. 从文件中读取西里尔文文本
- 29. Yaws西里尔文输出
- 30. Ubuntu西里尔文件名
你可以检查键盘的语言 – Blackbelt
在这里我必须把它?在textWatcher里面或者在哪里? –
请详细解释你的用例。根据您的使用情况,您可以使用[this](http://stackoverflow.com/a/30631069/1529129)或者有一个正则表达式,可以使用文本查看器进行检查。 –