我有 fragment 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。可能的解决方案是:
检查该数据。
是否有可能获得当前目的地?
最佳答案
java :Navigation.findNavController(v).getPreviousBackStackEntry().getDestination().getId();
Kotlin :findNavController().previousBackStackEntry?.destination?.id
这应该会在“X” fragment 中为您返回上一个目的地的 id。
关于android - 如何使用导航组件获取上一个目的地?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60690605/