Я использую навигационные компоненты и пытаюсь просто прослушать кнопку возврата из фрагмента; Перед прослушиванием все работает нормально, то есть и кнопка на панели инструментов, и собственная кнопка «Назад» переходят к предыдущему фрагменту, как и ожидалось.
Итак, чтобы добавить слушателя, я следовал так: 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()
}
}
После этого встроенная кнопка возврата больше не работает, но панель инструментов назад работает, как и ожидалось. Документы на этой странице, кажется, создают впечатление, что это просто слушатель, и он не должен влиять на цепочку навигации, так что я тут делаю неправильно?