我正在用另一个Fragment替换一个Fragment:
我正在用另一个Fragment替换一个Fragment:
FragmentTransaction transaction = mFragmentManager.beginTransaction();
transaction.setCustomAnimations(R.anim.enter, R.anim.exit, R.anim.pop_enter, R.anim.pop_exit);
transaction.replace(R.id.main_container, nextFragment, nextFragment.getClass().toString());
transaction.addToBackStack(nextFragment.getClass().toString());
transaction.commit();
然而,正在被替换的片段,它的onSaveInstanceState方法没有被调用。我做错了什么?
onCreateView()
中我们可以检查savedInstanceState
和getArguments()
来从Bundle
中获取数据。如果我们从第二个片段返回(Activity
没有被销毁),则会调用onCreateView()
,saveInstanceState == null
并且所有变量仍然存在。因此,我们可以检查我们的变量isInitialized == false
并获取新值。如果isInitialized == true
,则跳过设置新值。 - CoolMind