Tengo una aplicación de Android que contiene un ViewPager con 2 fragmentos. El primer fragmento contiene un campo EditText. Cuando se inicia la aplicación, ese campo se enfoca inmediatamente y se inicia el teclado virtual (lo que quiero que ocurra). El segundo fragmento solo contiene una lista (no campos de texto editables). Cuando paso del fragmento 1 al fragmento 2, me gustaría que el teclado desaparezca. Nada de lo que he intentado parece funcionar. El teclado no solo permanece a la vista, sino que continúa actualizando el campo EditText del fragmento 1.Hide Soft Keyboard en la aplicación para Android de ViewPager Fragments
Me imagino que estoy usando un código incorrecto para ocultar el teclado o colocarlo en una ubicación incorrecta. ¡Si alguien puede publicar un ejemplo de la implementación correcta, sería muy apreciado!
Mi último intento fue colocar código que debe ocultar el teclado en el fragmento de 1 onDetach) método (:
@Override
public void onDetach()
{
super.onDetach();
InputMethodManager imm = (InputMethodManager) this.context.getSystemService(Context.INPUT_METHOD_SERVICE);
// I'VE TRIED ALL THREE BELOW, NONE OF THEM WORK...
// imm.hideSoftInputFromWindow(this.messageView.getWindowToken(), 0);
// imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
// this.context.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
}
No sería esto evitar que el teclado muestre todo el tiempo? Solo quiero ocultarlo en el fragmento 2. – Jabari
Esto evita mostrar el teclado cuando la actividad se carga con tus fragmentos. Pero si hace clic en EditText, se mostrará el teclado. Afecta a todos los fragmentos cargados por su actividad. Para ocultar siempre y no mostrar nunca el teclado, en el manifiesto debe usar stateAlwaysHidden en android: windowSoftInputMode. Lo siento por mi ingles. – ClarkXP
Casi funciona, pero cuando cambias a un fragmento diferente, el teclado no está oculto. – Timmmm