我正在编写一个使用词典的应用程序。我希望在用户更改输入语言时切换字典。例如,如果打字语言是英语词典的英语作品,如果是德语,则使用德语词典。有没有办法设置一个监听器来获得这种改变?我找到的所有答案都是关于语言环境而不是输入语言。我不想处理语言环境,语言环境在应用程序中没有效果,输入语言也没有。 (我在minSDK = 7开发)
答案 0 :(得分:9)
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
InputMethodSubtype ims = imm.getCurrentInputMethodSubtype();
String locale = ims.getLocale();
您可以尝试使用此代码获取当前键盘语言区域代码。
答案 1 :(得分:1)
可能
imm.getCurrentInputMethodSubtype();
返回null值。在这种情况下,你应该像这样检查android系统的语言
Locale.getDefault().getLanguage() ---> en
否则您将收到NullPointerException