[英]Pass to fragment using Navigation from Activity
我有一个包含两个片段的活动。 任一片段都位于活动中的容器上。 活动也有带有设置按钮的工具栏。 我应该通过单击设置按钮使用导航传递设置片段,但我遇到了问题,因为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")
}
}
我希望它有用
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.