Estoy desarrollando en el Droid Incredible (y también lo he probado en un 1.5 AVD Emulator), y una de las pestañas en mi widget de pestañas consiste en una vista de lista y una fila con EditText y un Botón Enviar (para una función de chat). Estoy utilizando lo siguiente para cerrar el teclado virtual una vez que hago clic en Enviar, pero no está funcionando. Esto es idéntico al código que he encontrado en otro lugar que las personas han votado como correcto.Hide Soft Keyboard Not Working
¿Ves algo que me falta?
// in Button's onClick():
EditText chatTextBox = (EditText) findViewById(R.id.chat_entry);
// Handle button click ...
chatTextBox.setText("");
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(chatTextBox.getWindowToken(), InputMethodManager.HIDE_IMPLICIT_ONLY);
También intenté cambiar la bandera a 0. No tuve suerte. Alguien sabe qué pasa ??
**** EDIT **** Acabo de dar cuenta de que originalmente estaba usando hideSoftInputFromInputMethod()
en lugar de hideSoftInputFromWindow()
. Sin embargo, cambiarlo no lo hizo funcionar ...
Si va a mostrar el teclado con la bandera 'SHOW_FORCED'then que indica que el usuario ha forzado el método de entrada abierta (como por menú con una presión prolongada) por lo que no debe cerrarse hasta que lo hagan de forma explícita. [Consulte la documentación] (http://developer.android.com/reference/android/view/inputmethod/InputMethodManager.html#SHOW_FORCED) –
Si tiene el teclado ** Forced ** mostrado y desea ocultarlo, utilice el siguiente código 'InputMethodManager imm = (InputMethodManager) mContext.getSystemService (Context.INPUT_METHOD_SERVICE); \t \t imm.hideSoftInputFromWindow (mEditText.getWindowToken(), 0); ' –