您的位置:首页 > 移动开发 > Android开发

Android—ViewPager: Can't Change Tag of Fragment

2015-08-25 16:16 513 查看
别人的解决办法如下,然后我实在找不到
PageFragment.newPage(,);我就根据自己的改了一下[/code]
private List<PageFragment> pages;
//...
public PageFragment getItem(int position) {
PageFragment page = null;
if (pages.size() > position) {
page = pages.get(position);
if (page != null) {
return page;
}
}

while (position>=pages.size()) {
pages.add(null);
}
page = PageFragment.newPage(pageList.get(position),position);
pages.set(position, page);
return page;
}
我的代码
@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());//页面变化时的监听器
}
是不是已经知道怎么回事了?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  viewpager