Hide keyboard when navigating from a fragment to another

后端 未结 5 1250
我寻月下人不归
我寻月下人不归 2021-01-30 16:17

I have a Fragment that contains an Edit Text. When the Edit Text is pressed, the keyboard is being shown. When pressed the Save button in the upper corner, the application retur

5条回答
  •  日久生厌
    2021-01-30 17:17

    Kotlin

    For Kotlin, you can use this as a top level function, just add the code to a separate class such as 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)
        }
    }
    

    To access it from Fragment, call it like:

    hideKeyboard(activity as YourActivity)
    

    Thanks to Silvia H for Java code.

提交回复
热议问题