我有一个带有3个标签的ViewPager。
第一个标签将联系人加载到ListView中,后者扩展了ListFragment。
onCreate
,我Asynchronously
将联系人列表加载到ArrayList
,然后在任务的后执行方法中,我将其加载到setListAdapter(new CustomContactListViewAdapter(getActivity(), contactList);
的适配器中期待,但是当我轻轻浏览ViewPager几次,然后回到片段/页面时,列表是空的。
是否有任何已知的错误/解决方法?
我愿意发布我的代码,只是不知道哪部分会有用。
感谢任何帮助。
编辑:
添加一些代码。
public class MainActivity extends FragmentActivity {
ViewPager mViewPager;
TabAdapter mAdapter;
@Override
public void onCreate(Bundle state) {
super.onCreate(state);
mViewPager = (ViewPager) findViewById(R.id.pager);
mAdapter = new TabAdapter(getSupportFragmentManager());
mViewPager.setAdapter(mAdapter);
}
public class TabAdapter extends FragmentStatePagerAdapter {
public TabAdapter(FragmentManager fm) { super(fm); }
@Override
public Fragment getItem(int index) {
switch(index) {
case 0:
return ContactFragment();
case 1:
return SecondFragment();
case 2:
return ThirdFragment();
}
return null;
}
}
}
答案 0 :(得分:0)
Per Pr38y
由于只有3个选项卡,您可以使用FragmentPagerAdapter,并调用pager.setOffscreenPageLimit(3);.这样它就会将片段保留在内存中,不会再创建它。