java - 在edittext中检测语言
问题描述
我看到很多关于这个主题的帖子,但没有一个有效。
我有一个EditText
后者用于执行查询。
知道语言是英语还是希伯来语对我来说很重要。
我尝试了许多解决方案,例如:
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
InputMethodSubtype ims = imm.getCurrentInputMethodSubtype();
String locale = ims.getLocale();
哪里返回“”。
还尝试使用 Locale 但它返回设备的语言而不是当前键盘的语言。
有什么办法可以代替检查每个字母吗?
if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')) {
//english letter
}
谢谢
解决方案
100% 确定输入文本的区域设置的唯一方法是检查每个字母。没有限制用户输入的区域设置,或者用户是否在他们的区域设置中拥有您想要的语言。
PS:遗憾的是,Android 没有任何 API 来限制 Locale,但它在 iOS 上,所以希望有一天它会到达 Android
推荐阅读
- javascript - Rxjs Websocket:如何添加标头
- python-3.x - 使用 python 从使用 SimplifiedDoc 检索的肥皂中写入空白值
- python - 如何使用 Turtle 绘制星星
- c# - 测试 C# 时从响应中删除 Cookie 时请求中的 cookie 消失
- python - 如何使用来自 Apache Airflow 的 Docker Operator 的音量
- javascript - 重构复杂的多条件 if-else 语句
- python - 根据 a 标签的 name 属性中的特定文本查找 Href
- .net-core - 如何使用 StackExchange.Redis 使多个操作原子化
- python - “Microsoft Build Tools 2015”与“Visual C++ Build Tools 2015”有何不同?
- reactjs - Enzyme 双重潜入 Provider 内部的组件