У меня есть фрагменты A, B, C и X, где их навигация следующая.
A --> X
B --> X
C --> X
Как узнать информацию о последнем или предыдущем пункте назначения в X?
Текущий идентификатор пункта назначения можно найти по
Navigation.findNavController(v).getCurrentDestination().getId()
Я также пытался используя getBackStackEntry(int destinationId)
, но он возвращает только самый верхний NavBackStackEntry для идентификатора назначения. Другими словами, текущий пункт назначения.
Также getActivity().getSupportFragmentManager().getBackStackEntryCount();
, возвращающий 0.
Возможные решения:
- Передача данных из A, B и C к X и идентифицируйте предыдущий фрагмент, сверяясь с этими данными.
- Использовать общий SharedViewModel.
Возможно ли получить текущий пункт назначения?