@Override
public Fragment getItem(int position) { Fragment page = null;
if (list.size() > position) {
page = list.get(position);
if (page != null) {
return page;
}
}
while (position>=list.size()) {
list.add(null);
}
switch (position%4) {
case 0:
page = new ButtonFragment();
list.set(position, page);
break;
case 1:
page = TestFragment.newInstance("this is second fragment");
list.set(position, page);
break;
case 2:
page = TestFragment.newInstance("this is third fragment");
list.set(position, page);
break;
case 3:
page = TestFragment.newInstance("this is fourth fragment");
list.set(position, page);
break;
default:
break;
}
return page;}
再看看刚开始加入fragment时的代码
/*
* 初始化ViewPager
*/
public void InitViewPager(){
mPager = (ViewPager)findViewById(R.id.viewpager);
fragmentList = new ArrayList<Fragment>();
Fragment btFragment= new ButtonFragment();
Fragment secondFragment = TestFragment.newInstance("this is second fragment");
Fragment thirdFragment = TestFragment.newInstance("this is third fragment");
Fragment fourthFragment = TestFragment.newInstance("this is fourth fragment");
fragmentList.add(btFragment);
fragmentList.add(secondFragment);
fragmentList.add(thirdFragment);
fragmentList.add(fourthFragment);//给ViewPager设置适配器
mPager.setAdapter(new MyFragmentPagerAdapter(getSupportFragmentManager(), fragmentList));
mPager.setCurrentItem(0);//设置当前显示标签页为第一页
mPager.setOnPageChangeListener(new MyOnPageChangeListener());//页面变化时的监听器
}