2013-05-10 52 views
3

我正在写一个正在使用字典的应用程序。每当用户更改输入语言时,我都希望在字典之间切换。例如,如果打字语言是英语,可以使用英语词典,如果是德语,则使用德语词典。有没有什么方法可以设置一个监听器来获得这个改变?我找到的所有答案都是关于语言环境,而不是输入语言。我不想处理语言环境,语言环境在应用程序中没有任何影响,输入语言也没有作用。 (我正在开发minSDK = 7)如何获得当前的键盘语言

+0

http://stackoverflow.com/questions/14775218/how-can-i-know-keyboard-language -en-fr – 2013-05-10 14:00:19

+1

感谢您的回应,但此解决方案适用于API 11及以上版本,我使用的是API 7.这是我的问题。 – 2013-05-10 14:07:04

回答

7
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); 

InputMethodSubtype ims = imm.getCurrentInputMethodSubtype(); 

String locale = ims.getLocale(); 

您可以试试这段代码来获得当前的键盘语言区域代码。

0

有可能

imm.getCurrentInputMethodSubtype(); 

回你空值。在这种情况下,你应该检查Android系统的语言这样

Locale.getDefault().getLanguage()  ---> en  

否则您将收到NullPointerException异常