如何在Fragment的onBackPressed中添加点击事件?

Tan*_*zim 3 buttonclick android-fragments kotlin android-studio

我想向 onBackPressed() 按钮添加点击监听器。我怎样才能做到这一点?

有趣的 onBackPressed(it: View) {

        val title = binding.edittexttitle.text
        val notes = binding.edittextnote.text

        val d = Date()
        val s: CharSequence = DateFormat.format("MMMM d, yyyy ", d.time)

        Log.e("@@@@@", "createNotes: $s")

    }
Run Code Online (Sandbox Code Playgroud)

Pra*_*een 7

覆盖onBackPressed调用并添加 a到其中fragment。在回调中放入您想要在按下后退按钮时执行的任何代码。onBackPressedDispatcheractivitycallback

requireActivity().onBackPressedDispatcher.addCallback(viewLifecycleOwner) {
    
    val title = binding.edittexttitle.text
    val notes = binding.edittextnote.text

    val d = Date()
    val s: CharSequence = DateFormat.format("MMMM d, yyyy ", d.time)

    Log.e("@@@@@", "createNotes: $s")
}
Run Code Online (Sandbox Code Playgroud)

之后,如果您希望back button像平常一样工作,只需禁用callbackusing isEnabled = false,然后requireActivity().onBackPressed()在回调 lambda 中调用 , 即可。

requireActivity().onBackPressedDispatcher.addCallback(viewLifecycleOwner) {
    // Your code
    isEnabled = false
    requireActivity().onBackPressed()
}
Run Code Online (Sandbox Code Playgroud)