2013-05-10 42 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異常