代码之家  ›  专栏  ›  技术社区  ›  Ben

检测edittext中的语言

  •  0
  • Ben  · 技术社区  · 4 年前

    我看到了很多关于这个主题的帖子,但都没有奏效。

    我有一个 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
    }
    

    非常感谢。

    0 回复  |  直到 4 年前
        1
  •  0
  •   Ahmad Sattout    4 年前

    要100%确定输入的文本是什么语言环境,唯一的方法就是检查每个字母。用户键入的Locale没有限制,或者用户的Locales中是否有您想要的语言也没有限制。

    P.S:遗憾的是,Android没有任何API来限制Locale,但它是在iOS上,所以希望有一天它会到达Android