Я использую компонент навигации Android в своем демонстрационном приложении.У меня довольно простой случай.Одно действие, два фрагмента, A и B. Я настроил элементы управления навигацией, как в примере приложения от Google.И когда я пытаюсь открыть фрагмент B из A, используя простой onClickListener, например:
val button.setOnClickListener {
val action = AFragmentDirections.openFragmentB()
findNavController().navigate(action)
}
Все работает нормально.Фрагмент B открывается, и, нажав на кнопку назад, он появляется.Но когда я пытаюсь использовать его из обозревателя LiveData, например:
viewModel.openFragmentB.observe(viewLifecycleOwner, Observer {
val action = AFragmentDirections.openFragmentB()
findNavController().navigate(action)
})
Фрагмент B открывается, но при нажатии кнопки «Назад» происходит сбой приложения с назначением навигации по ошибке com.myapp: id / open_fragmetn_b isнеизвестно этому NavController.
Почему это происходит и как использовать компонент навигации с LiveData?