softkeyboard de Android showSoftInput vs toggleSoftInput

showSoftInput() no me muestra el teclado, perotoggleSoftInput() hace. Vi otro post que decía desactivar el teclado duro cuando uso el emulador, pero no estoy usando un emulador. Estoy cargando mi APK en un dispositivo real sin teclado duro. ¿No deberían funcionar ambos métodos? Porque noshowSoftInput() ¿trabajo? Me gustaría asociar explícitamente el teclado con un campo de texto específico.

No funciona

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
editText.setText("textchange"); //i see the text field update
imm.showSoftInput(editText, InputMethodManager.SHOW_FORCED);

Trabajos:

InputMethodManager imm = (InputMethodManager) getDelegate().getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,0);

Respuestas a la pregunta(7)

Su respuesta a la pregunta