我有一個viewpager與5個選項卡。在viewpager中的每個片段中,我有一個列表視圖,其中填充了從服務器獲取的數據(服務器調用使用AsyncTask完成)。ViewPager與listviews和fragmentstatepageradapter
我也使用Fragmentstatepageradapter有最順利的導航可能,但似乎有東西不工作,因爲它應該當我從一個具有listview的片段導航到另一個listview。
我想知道爲什麼,因爲數據已經存儲,我希望viewpager從棧中彈出這些片段。
這裏是我的適配器:
public class TabsPagerAdapter extends FragmentStatePagerAdapter {
public TabsPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int index) {
switch (index){
case 0:
return new Fragment1();
case 1:
return new Fragment2();
case 2:
return new Fragment3();
case 3:
return new Fragment4();
case 4:
return new Fragment5();
}
return null;
}
@Override
public int getCount() {
return 5;
}
}
一個小小的研究我見過的getItem()應該總是返回片段的新實例後,但我仍然無法保存/恢復平穩狀態。 我試過使用myViewPager.setOffscreenPageLimit(4);
,它提供了更好的性能,但製表導航仍然有點滯後。
我是否必須重寫instantiateItem/destroyItem以保存片段狀態?