showSoftInput()
не показывает клавиатуру для меня, но toggleSoftInput()
делает. Я видел еще одну запись, которая говорила, что отключает жесткую клавиатуру при использовании эмулятора, но я не использую эмулятор. Я загружаю APK на реальном устройстве без жесткой клавиатуры. Не должны ли работать оба метода? Почему не работает showSoftInput()
? Я хотел бы явно связать клавиатуру с определенным текстовым полем.
Не работает:
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
editText.setText("textchange"); //i see the text field update
imm.showSoftInput(editText, InputMethodManager.SHOW_FORCED);
Работает:
InputMethodManager imm = (InputMethodManager) getDelegate().getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,0);