2

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

现在我需要返回 OnClickListener 中的前一个 Fragment,该 Fragment 嵌入在托管 Fragment 的 Activity 中托管的 FloatingActionButton 中,而不是后按。

目前,以下代码将我一直带到开始片段:

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

我也尝试过 getActivity().onBackPressed();,这也让我回到了开始的片段。

怎么回到之前的Fragment?我正在尝试按照本指南将 数据传递到起始目的地,以将 Bundle 返回到起始目的地,但它忽略了如何返回起始目的地。

我还考虑过创建另一个动作来返回开始目的地,但是后退按钮会返回到错误的 Fragment。有没有办法阻止它?

4

1 回答 1

1

如果您要做的只是弹出回栈,setGraph()则没有必要。只需调用popBackStack()您的NavController.

于 2020-09-27T15:07:59.980 回答