次のようにフラグメント間でデータを送信しています。
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() はオブジェクトのクローンを作成しませんか?