Fragment页面的返回按钮监听

千行

关注

阅读 57

2022-03-15

requireActivity()
        .onBackPressedDispatcher
        .addCallback(viewLifecycleOwner, object : OnBackPressedCallback(intercept) {
            override fun handleOnBackPressed() {
                Log.e("nil", "handleOnBackPressed==>>")
                backAction.invoke()
            }
        })

当Fragment界面被弹窗覆盖之后,fragment的返回键监听将会失效。即在弹窗可视时,触发返回事件时,将不会走Fragment页面的返回监听。

处理方法为重写Dialog的监听事件,监听返回事件。

     dialog.setOnKeyListener { dialog, keyCode, event ->
            keyCode == KeyEvent.KEYCODE_BACK
        }

精彩评论(0)

0 0 举报