2013-05-10 3 views
3

Я пишу приложение, которое использует словари. Я хочу переключаться между словарями каждый раз, когда пользователь меняет язык ввода. Например, если язык ввода - английский язык с английским словарем, если он немецкий, работайте с немецким словарем. Есть ли способ установить прослушиватель, чтобы получить это изменение? Весь ответ, который я нашел, касался локали, а не языка ввода. Я не хочу обрабатывать локаль, язык не влияет на приложение, язык ввода делает. (Я развиваюсь в minSDK = 7)Как получить текущий язык клавиатуры

+0

http://stackoverflow.com/questions/14775218/how-can-i-know-keyboard-language -en-fr –

+1

спасибо за ответ, но это решение для API 11 и выше, я использую API 7. Это моя проблема. –

ответ

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

InputMethodSubtype ims = imm.getCurrentInputMethodSubtype(); 

String locale = ims.getLocale(); 

Вы можете попробовать этот код, чтобы получить региональный код действующего языка клавиатуры.

0

Можно

imm.getCurrentInputMethodSubtype(); 

вернуть вам нулевое значение. В этом случае вы должны проверить язык андроида системы, как этот

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

иначе вы получите NullPointerException

Смежные вопросы