kotlin 当用户触摸“弹出返回”(底部导航上的“返回”按钮)(手机上的右下角按钮)时,如何调用函数

vhmi4jdf  于 2023-02-13  发布在  Kotlin
关注(0)|答案(2)|浏览(131)

我想在用户触摸底部导航的后退时调用一个函数?有什么方法或途径吗?

kt06eoxx

kt06eoxx1#

旧的

您可以在Activity类中重写onBackPressed方法。

近期(API〉= 33)

但是,onBackPressed在API 33之后已弃用。现在,您可以在onBackPressedDispatcher上添加回调来替代onBackPressed

class MyActivity : AppCompatActivity() {
    private val callback = object : OnBackPressedCallback(true) {
        override fun handleOnBackPressed() {
            // something you want to do
        }
    }

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        // ...

        this.onBackPressedDispatcher.addCallback(this, callback)
    }

这段代码是针对Activity的。如果你想在Fragment中设置后退按钮动作,你可以查看这个文档。
https://developer.android.com/reference/androidx/activity/OnBackPressedDispatcher

cbwuti44

cbwuti442#

使用override fun onBackPressed()方法

override fun onBackPressed(){
    // Do something
    // add super.onBackPressed() if you want to call the normal back function
}

愿此解决方案对您有所帮助。
谢谢

相关问题