2011-09-07 19 views
7

Tengo una actividad que los usuarios escriben dentro y luego hago clic en el botón Aceptar. Cuando termina, la actividad se cierra y vuelve a la actividad anterior, ¡pero el teclado virtual aún está en la pantalla! He intentado con Android: windowSoftInputMode = "stateHidden" y getWindow(). SetSoftInputMode (WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);¿Cómo elimino el teclado después de terminar una actividad?

Pero no hace nada.

Gracias

Respuesta

15

En OnPause de su actividad, se debe hacer lo siguiente

InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); 
     imm.hideSoftInputFromWindow(et.getWindowToken(), 0); 

Dónde et es una instancia de su EditarTexto.

+0

He utilizado este enfoque para implementar mi "Actividad de búsqueda" en "Iniciar actividad para el resultado" para ocultar el teclado. ¡Gracias! – Roman

+2

Tengo una situación similar en la que una actividad abierta por un SDK no descarta el teclado cuando finaliza la actividad. Termino con un teclado que cubre la mitad de mi actividad. ¿Alguna idea de cómo descartar el teclado mostrado por una actividad diferente? – hitmaneidos

+1

¿Qué sucede si tienes varios EditText? ¿cómo sabes de qué llamar getWindowToken()? –

Cuestiones relacionadas