【发布时间】:2011-11-20 21:11:09
【问题描述】:
我最初在 Activity onCreate() 中创建我的片段。然后我开始创建 ViewPager 并设置适配器。我保留对片段的全局引用,以便可以根据需要更新它们。此外,适配器可以访问这些片段。
我的问题是,我注意到一旦屏幕旋转,片段就会重新创建,但 ViewPager 仍然包含创建的原始片段......??
我应该如何处理片段的生命周期?我需要能够从活动中直接调用片段。片段的单例是个好主意吗?还是只是一个内存泄漏者?
protected void onCreate (Bundle savedInstanceState)
{
...
...
// set up cards
mFrag1 = new Frag1();
mFrag1.setOnActionEventListener(mOnActionEvents);
mFrag2 = new Frag2();
mFrag3 = new Frag3();
mFragPager = (ViewPager) findViewById(R.id.vpPager);
mFragAdapter = new FragAdapter(getSupportFragmentManager());
mFragPager.setAdapter(mCardAdapter);
mFragPager.setOnPageChangeListener(mOnCardChange);
}
【问题讨论】: