Android Jetpack Navigation组件可以分段处理后退吗?

时间:2018-11-03 20:32:13

标签: android android-jetpack

我在我的项目中使用Android导航组件。我想在主片段(例如Activity#onBackPressed)中处理“返回”操作,然后执行某些操作或阻止此操作。 导航是否提供任何类似的API?非常感谢。

2 个答案:

答案 0 :(得分:1)

在片段中,尝试以下操作:

NavHostFragment.findNavController(this).navigateUp()

答案 1 :(得分:1)

您可以使用此回调操作返回按钮

class MyFragment : Fragment() {

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

        // This callback will only be called when MyFragment is at least Started.
        val callback = requireActivity().onBackPressedDispatcher.addCallback(this) {
            // Handle the back button event
        }

        // The callback can be enabled or disabled here or in the lambda
        requireActivity().onBackPressedDispatcher.addCallback(viewLifecycleOwner, callback)
    }
    ...
}

有关更多信息,click here