teclado tapar studio salga que pulsar ocultar navegar mostrar fuera fragments evitar entre edittext desactivar con boton android android-fragments keyboard android-softkeyboard

android - tapar - Ocultar teclado al navegar de un fragmento a otro



ocultar teclado al pulsar fuera de edit text android (2)

Tengo un fragmento que contiene un texto de edición. Cuando se presiona Editar texto, se muestra el teclado. Cuando se presiona el botón Guardar en la esquina superior, la aplicación vuelve al fragmento anterior, pero el teclado persiste.

Me gustaría que el teclado esté oculto al navegar al fragmento anterior.

Tenga en cuenta que probé esta solución: cierre / oculte el teclado suave de Android .

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

Intenté usar esto en ambos fragmentos, en el método onCreate.

También traté de ocultar el teclado virtual en el diseño:

android:windowSoftInputMode="stateAlwaysHidden"

Ninguno de estos funcionó, por desgracia.

Hubiera publicado algunas fotos, pero aún no tengo suficiente reputación. Apreciaría cualquier ayuda constructiva y opinión y no olvide que "un hombre sabio puede aprender más de una pregunta tonta de lo que un tonto puede aprender de una respuesta sabia". :)

Saludos, Alexandra


Coloque el código que oculta el teclado en su oyente de clic "Guardar botón" y utilice este método para ocultar el teclado:

public static void hideKeyboard(Activity activity) { InputMethodManager inputManager = (InputMethodManager) activity .getSystemService(Context.INPUT_METHOD_SERVICE); // check if no view has focus: View currentFocusedView = activity.getCurrentFocus(); if (currentFocusedView != null) { inputManager.hideSoftInputFromWindow(currentFocusedView.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); } }


La forma más fácil de ocultar el teclado en fragmentos o actividades

Soluton: 1

//hide keyboard public static void hideKeyboard(Context ctx) { InputMethodManager inputManager = (InputMethodManager) ctx .getSystemService(Context.INPUT_METHOD_SERVICE); // check if no view has focus: View v = ((Activity) ctx).getCurrentFocus(); if (v == null) return; inputManager.hideSoftInputFromWindow(v.getWindowToken(), 0); }

Solución: 2

InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE); inputMethodManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);