我在这样的片段之间发送数据:
public static final MyFragment newInstance( MyObject obj )
{
MyFragment f = new MyFragment();
// Get arguments passed in, if any
Bundle args = f.getArguments();
if (args == null) {
args = new Bundle();
}
// Add parameters to the argument bundle
args.putParcelable("obj", obj ); // clone or referenced? MyObject implements parcelable
f.setArguments(args);
return f;
}
我发现我通过的对象正在统一更改。例如,当我按下后退按钮并返回到最后一个片段时,我的对象具有我刚刚离开的片段的当前状态。
Bundle.putParcelable() 不会克隆对象吗?