Handling back button in Android Navigation Component

前端 未结 23 1361
遥遥无期
遥遥无期 2020-11-29 18:20

I\'d like to know how properly handle system back button action using Navigation Controller. In my app I have two fragments (for ex. fragment1 and fragment2) and I have an a

23条回答
  •  长情又很酷
    2020-11-29 19:21

    you can provide your custom back navigation by using OnBackPressedDispatcher

    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
    // and if you want to need navigate up
    //NavHostFragment.findNavController(this).navigateUp()
        }
    
        // The callback can be enabled or disabled here or in the lambda
    }
    }
    

    More explanations in android official guide: https://developer.android.com/guide/navigation/navigation-custom-back

提交回复
热议问题