Я пишу приложение, которое использует текст редактирования. I хочу знать, что пользователь вводит язык в методе oncreate или при изменении типа ввода с клавиатуры. Есть ли способ установить прослушиватель, чтобы получить это изменение? Весь ответ, который я нашел, касался локали, а не языка ввода. Я не хочу обрабатывать локаль, язык не влияет на приложение, язык ввода делает. Я использовал эти коды.Как получить пользовательский язык клавиатуры
private void printInputLanguages() {
List<InputMethodInfo> ims = imm.getEnabledInputMethodList();
for (InputMethodInfo method : ims) {
List<InputMethodSubtype> submethods = imm
.getEnabledInputMethodSubtypeList(method, true);
for (InputMethodSubtype submethod : submethods) {
if (submethod.getMode().equals("keyboard")) {
String currentLocale =
submethod.getLocale();
tv.setText(currentLocale);
Log.i("sara", "Available input method locale: "
+ currentLocale);
}
}
}
}
и эти коды, но ни один из них не помог полностью.
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
InputMethodSubtype ims = imm.getCurrentInputMethodSubtype();
String localeString = ims.getLocale();
Locale locale = new Locale(localeString);
String currentLanguage = locale.getDisplayLanguage();
спасибо за помощь ур.
im using api 16 – saeed