Saltar al contenido

Ocultar teclado al navegar de un fragmento a otro

Nuestro grupo de especialistas pasados algunos días de investigación y recopilación de de información, encontramos la respuesta, nuestro deseo es que te sea útil en tu proyecto.

Solución:

Coloque el código que oculta el teclado en su “botón Guardar” haga clic en el oyente y use 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);
         
     

kotlin

Para Kotlin, puede usar esto como una función de nivel superior, solo agregue el código a una clase separada como Utils.kt.

fun hideKeyboard(activity: Activity) 
    val inputMethodManager =
        activity.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager

    // Check if no view has focus
    val currentFocusedView = activity.currentFocus
    currentFocusedView?.let 
        inputMethodManager.hideSoftInputFromWindow(
            currentFocusedView.windowToken, InputMethodManager.HIDE_NOT_ALWAYS)
    

Para acceder a él desde Fragment, llámalo así:

hideKeyboard(activity as YourActivity)

Gracias a Silvia H por el código Java.

La forma más fácil de ocultar el teclado en un fragmento o Actividad

Solución : 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);

Si te apasiona la programación, puedes dejar una noticia acerca de qué te ha gustado de este ensayo.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *