要将自定义对象传递给目标片段,可以使用Bundle和setArguments()方法。
首先,在源片段中创建一个Bundle对象,并使用putParcelable()方法将自定义对象添加到Bundle中。例如:
MyObject myObject = new MyObject();
// 设置MyObject的属性值
Bundle bundle = new Bundle();
bundle.putParcelable("myObject", myObject);
// 创建目标片段实例
TargetFragment targetFragment = new TargetFragment();
targetFragment.setArguments(bundle);
// 使用FragmentManager将目标片段添加到片段容器中
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.add(R.id.fragment_container, targetFragment);
fragmentTransaction.commit();
然后,在目标片段中,可以使用getArguments()方法获取传递的Bundle,并从中获取自定义对象。例如:
public class TargetFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// 获取传递的Bundle
Bundle bundle = getArguments();
if (bundle != null) {
// 从Bundle中获取自定义对象
MyObject myObject = bundle.getParcelable("myObject");
// 使用自定义对象进行操作
}
// 其他片段操作代码
return view;
}
}
这样,就可以将自定义对象成功传递给目标片段了。