Android—ViewPager: Can't Change Tag of Fragment

别人的解决办法如下,然后我实在找不到PageFragment.newPage(,);我就根据自己的改了一下
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());//页面变化时的监听器
	}

是不是已经知道怎么回事了?
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值