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)或者有一個正則表達式,可以使用文本查看器進行檢查。 –