我正在编写一个使用字典的应用程序。每当用户更改输入语言时,我想在字典之间切换。例如,如果输入语言是英语,则使用英语词典,如果是德语,则使用德语词典。有没有办法设置一个监听器来获得这个改变?我找到的所有答案都是关于语言环境而不是关于输入语言。我不想处理语言环境,语言环境在应用程序中没有影响,输入语言有。(我在 minSDK=7 中开发)
问问题
9668 次
2 回答
14
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
InputMethodSubtype ims = imm.getCurrentInputMethodSubtype();
String locale = ims.getLocale();
您可以尝试此代码以获取当前键盘语言区域代码。
于 2013-09-11T06:13:34.087 回答
2
有可能的
imm.getCurrentInputMethodSubtype();
为您返回空值。在这种情况下,您应该像这样检查 android 系统的语言
Locale.getDefault().getLanguage() ---> en
否则你会收到 NullPointerException
于 2015-01-20T14:21:01.380 回答