使用从活动导航传递到片段



我有一个有两个片段的活动。任一片段都位于活动中的容器上。活动还具有带有设置按钮的工具栏。我应该通过单击设置按钮使用导航传递设置片段,但我有问题,因为findNavController(R.id.home_nav).navigate(R.id.action_second_fragment_to_settings_fragment)如果我们转到设置屏幕并且第二个片段处于活动状态,则可以工作,但是从第一个活动片段开始就会崩溃。 我需要做什么来解决这个问题?我只在导航组件中使用了在片段之间传递的操作。可能有针对此任务的有用解决方案

如果你navController在MainActivity中,使用此代码可以访问navController并将数据发送到片段。

加载新片段:

val bundle = Bundle()
bundle.putString("id", id)
(activity as MainActivity).navController.navigate(R.id.orderDetailFragment, bundle)

对于在片段中获取onViewCreated中的数据:

arguments?.let {
if (it.getSerializable("id") != null) { 
val id = it.getString("id")
}

}

我希望它有用

相关内容

  • 没有找到相关文章

最新更新