我有碎片A、B、C和X,它们的导航如下所示。
A --> X
B --> X
C --> X
我怎么知道X中最后或前一个目的地的信息?
可以通过以下方式找到当前目的地ID:
Navigation.findNavController(v).getCurrentDestination().getId()
我也尝试使用 getBackStackEntry(int destinationId)
,但它只返回特定目标ID的顶部 NavBackStackEntry。换句话说,当前目标。
此外,getActivity().getSupportFragmentManager().getBackStackEntryCount();
返回 0。
可能的解决方案包括:
- 从 A、B 和 C 向 X 传递数据,并通过检查该数据来确定上一个片段。
- 使用共享 SharedViewModel。
是否可能获取当前目标?