我正在使用导航组件,并试图只听片段中的后退按钮;在收听之前,一切正常,这意味着工具栏按钮和本机后退按钮都可以按预期导航到上一个片段。
所以,为了添加一个监听器,我遵循了这个:https ://developer.android.com/guide/navigation/navigation-custom-back并在我的片段中添加了一个回调,如下所示:
override fun onCreate(savedInstanceBundle: Bundle?){
// saveIfNew when back button is pressed
requireActivity().onBackPressedDispatcher.addCallback(this){
viewModel.checkAndSave()
}
}
之后,本机后退按钮不再起作用,但工具栏后退确实按预期工作。该页面上的文档似乎使它看起来只是一个听众,不应该影响导航链,所以我在这里做错了什么?