我正在开发一个由 3 个片段组成的 Android 应用程序;其中一个将是 ListFragment,其内容将取决于其他 Fragment 上发生的情况。我使用 ViewPager 对象让用户在片段之间滑动;这是它的适配器类:
private class SwypePagerAdapter extends FragmentPagerAdapter{
private Fragment[] tabFragments;
public SwypePagerAdapter(FragmentManager fm) {
super(fm);
tabFragments=new Fragment[NUMBER_OF_TABS];
tabFragments[0]= Fragment.instantiate(StatCalculatorActivity.this, InsertFrag.class.getName());
tabFragments[1]= Fragment.instantiate(StatCalculatorActivity.this, ResultFrag.class.getName());
tabFragments[2]= Fragment.instantiate(StatCalculatorActivity.this, ValuesFrag.class.getName());
}
@Override
public Fragment getItem(int position) {
return tabFragments[position];
}
@Override
public int getCount() {
return NUMBER_OF_TABS;
}
}
一切都很好,直到 Activity 被销毁然后重新创建。在此之后 listFragment 看起来被锁定,它不会更新其数据,直到我销毁并重新创建该片段上的活动。这是怎么回事?我怎样才能恢复它?
更新: 我想我没有解释我真正的意思。看起来在我销毁并重新创建 Activity 之后,片段不再是以前的样子了;就好像旧的和新的重叠了一样,它们之间再也不能交流了……就像我失去了它们的引用一样,但它们仍然存在……