提问者:小点点

在使用导航控制器时,如何返回到前面的片段?


我正在使用一个导航图来导航Android上的片段。目前,我可以从一个片段到另一个片段,并返回后按。

现在我需要返回到OnClickListener中的前一个片段,OnClickListener嵌入到一个FloatingActionButton中,该FloatingActionButton托管在一个activity中,该activity托管该片段,而不是一个back press。

目前,下面的代码将使我一直了解到开头的片段:

NavController navController = NavHostFragment.findNavController(FragmentSelect.this);
            navController.setGraph(R.navigation.nav_graph, bundle);
            navController.popBackStack();

我还尝试了getActivity().onBackpressed();,它也将我带回到开头的片段。

如何回到上一个片段?我正在尝试遵循这个指南,将数据传递到起始目标,用于将包返回到起始目标,但是它遗漏了如何返回到起始目标。

我还想过创建另一个动作来返回开始目的地,但随后back按钮将返回到错误的片段。有什么办法可以阻止吗?


共1个答案

匿名用户

如果您想做的只是弹出后堆栈,那么setgraph()是不必要的。只需在NavController上调用PopBackStack()即可。