从backstack检索后,片段参数包含NO数据

时间:2015-09-11 07:34:48

标签: android android-fragments fragment-backstack

所以,我有一个片段 - 片段A - 它包含一个对象 - 对象O--用于设置TextViews和其他元素。为了实例化片段,我使用静态方法A.getInstance(O)。对象O是可序列化的,因此我可以通过Bundle使用instance.setArguments等将它发送到片段A的新实例。

我在A的onCreate方法中检索O,并在onViewCreated中使用O设置字段。一切正常,直到这里。在我用另一个片段替换 A - 片段B - 然后从B导航回A,参数Bundle不再包含对象O ,我得到NullPointerException。 Bundle本身不是null,但它不包含O。

我使用此方法替换片段:

public void replaceCurrentFragment(Fragment fragment) {
        FragmentTransaction fragmentTransaction = context.getSupportFragmentManager().beginTransaction();
        fragmentTransaction.replace(R.id.frame, fragment).addToBackStack(null).commit();
}

片段A也会使用上述方法显示。

我做错了什么?

0 个答案:

没有答案