使用 NavController 时如何 return 到上一个片段?
How do you return to the previous fragment when using a NavController?
我正在使用导航图在 Android 上导航片段。目前,我可以从一个片段转到另一个片段,然后 return 向后按。
现在我需要 return 到嵌入 FloatingActionButton 中的 OnClickListener 中的前一个 Fragment,该 FloatingActionButton 托管在 Activity 中托管 Fragment 而不是后按。
目前,以下代码将我带到开头片段:
NavController navController = NavHostFragment.findNavController(FragmentSelect.this);
navController.setGraph(R.navigation.nav_graph, bundle);
navController.popBackStack();
我也试过 getActivity().onBackPressed();
这也让我回到了开始的片段。
你是如何return上一个Fragment的?我正在尝试遵循本指南,
Pass data to the start destination,用于 return 将捆绑包发送到起始目的地,但它没有说明如何 return 到起始目的地。
我也想过创建另一个动作 return 到起始目的地,但是后退按钮会 return 到错误的片段。有办法阻止吗?
如果您只想弹出返回堆栈,setGraph()
是不必要的。只需在 NavController
.
上拨打 popBackStack()
我正在使用导航图在 Android 上导航片段。目前,我可以从一个片段转到另一个片段,然后 return 向后按。
现在我需要 return 到嵌入 FloatingActionButton 中的 OnClickListener 中的前一个 Fragment,该 FloatingActionButton 托管在 Activity 中托管 Fragment 而不是后按。
目前,以下代码将我带到开头片段:
NavController navController = NavHostFragment.findNavController(FragmentSelect.this);
navController.setGraph(R.navigation.nav_graph, bundle);
navController.popBackStack();
我也试过 getActivity().onBackPressed();
这也让我回到了开始的片段。
你是如何return上一个Fragment的?我正在尝试遵循本指南, Pass data to the start destination,用于 return 将捆绑包发送到起始目的地,但它没有说明如何 return 到起始目的地。
我也想过创建另一个动作 return 到起始目的地,但是后退按钮会 return 到错误的片段。有办法阻止吗?
如果您只想弹出返回堆栈,setGraph()
是不必要的。只需在 NavController
.
popBackStack()