fragment中嵌套viewpager,vierpager中有多个fragment,viewpager适配器如下,给adapter传入的FragmentManager 应该是调用fragment的getChildFragmentManager(),而不是activity的FragmentManager 。使用activity的FragmentManager可能会在activity的非活动状态下销毁fragment。
private class SectionsPagerAdapter extends FragmentPagerAdapter {
public Fragment mCurrentFragment;
public SectionsPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public void setPrimaryItem(ViewGroup container, int position, Object object) {
super.setPrimaryItem(container, position, object);
mCurrentFragment = (Fragment) object;
}
@Override
public Fragment getItem(int position) {
switch (position) {
case 0: {
return new Fragment();
}
。。。
}
return null;
}
@Override
public int getCount() {
return size;
}
@Override
public CharSequence getPageTitle(int position) {
switch (position) {
case 0:
return "";
。。。
}
return null;
}
}