我有viewpager
,有4个片段。
我将offscreenPageLimit
设置为4,并且没有覆盖适配器的getItemPosition
,因为我不希望每次更改标签时都重新创建它们。
现在,在某些情况下,我希望重新创建特定的fragment
(这意味着调用onCreateView)。
那是在我选择之前或当我再次选择该片段时。
该怎么做?
答案 0 :(得分:0)
请尝试使用此适配器。恢复后可以重新创建片段。
public class ViewPagerAdapter extends FragmentStatePagerAdapter {
private Fragment[] fragments;
private String[] titleList;
private int index;
public ViewPagerAdapter(FragmentManager fm, String[] titleList){ // titleList is list of title of fragments
super(fm);
fragments = new Fragment[titleList.length];
this.titleList = titleList;
}
@Override
public Fragment getItem(int position) {
Fragment fragment;
if (fragments[position] == null){
YourFragment yourFragment = new YourFragment();
fragment = yourFragment;
fragments[position] = fragment;
return fragment;
}else{
return fragments[position];
}
}
@Override
public int getCount() {
return titleList.length;
}
@Override
public CharSequence getPageTitle(int position) {
return titleList[position].toUpperCase();
}
}