在Navigation组件中,可以使用Safe Args插件来传递值。
1.在你的Navigation图表中标记Fragment,然后选择'Arguments”选项卡。
2.添加适当的参数(参数类型、名称和默认值),例如int类型的id参数:
3.在适配器中,使用Bundle来将值传递到其他Fragment。
Bundle bundle = new Bundle();
bundle.putInt("id", id); //将id参数添加到bundle中
NavHostFragment.findNavController(fragment).navigate(
R.id.action_from_adapter_to_navigation_fragment, //action ID
bundle //包含参数的bundle
);
4.在目标Fragment中,使用Safe Args插件来获取该参数:
int id = getArguments().getInt("id");
这样就可以从Adapter向Navigation组件中的Fragment传递值了。