重写PagerAdapter与FragmentPagerAdapter

本文详细介绍了PagerAdapter和FragmentPagerAdapter的使用方法,通过具体实例展示了如何重写必要的方法以实现页面适配器的功能。适用于Android应用开发者理解并掌握ViewPager组件的工作原理。

继承PagerAdapter要重写4个方法

class TestPagerAp extends PagerAdapter {
List<View> viewList;
public TestPagerAp(List<View> list)
{
viewList=list;
}

@Override
public void destroyItem(ViewGroup container, int position, Object object) {
((ViewPager) container).removeView(viewList.get(position));
}
//	 @Override
//	 public void destroyItem(View container, int position, Object object) {
//	 ((ViewPager) container).removeView(viewList.get(position));
//	 }
@Override
public Object instantiateItem(View container, int position) {
((ViewPager) container).addView(viewList.get(position));
// TODO Auto-generated method stub
return viewList.get(position);
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {

// TODO Auto-generated method stub
return arg0==arg1;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return viewList.size();
}

}


其中

<pre name="code" class="java">public Object instantiateItem(View container, int position) {
((ViewPager) container).addView(viewList.get(position));
// TODO Auto-generated method stub
return viewList.get(position);
}
中return的是key,与view对应,也可以是个int值,只是为了简单,就直接返回这个view了

<pre name="code" class="java">isViewFromObject(View arg0, Object arg1)
arg0是显示的view,arg1是对应view的key,因为之前返回的key就是view本身,所以判断arg0==arg1




继承FragmentPagerAdapter重写3个方法即可

	class TestFgAp extends FragmentPagerAdapter {
		


		ArrayList<Fragment> list;
		public TestFgAp(FragmentManager fragmentManager,ArrayList<Fragment> fgList) {
			
			super(fragmentManager);
			list=fgList;
			// TODO Auto-generated constructor stub
		}


		@Override
		public Fragment getItem(int arg0) {
			// TODO Auto-generated method stub
			return list.get(arg0);
		}


		@Override
		public int getCount() {
			// TODO Auto-generated method stub
			return list.size();
		}


//		@Override
//		public void destroyItem(ViewGroup container, int position, Object object) {
//			// TODO Auto-generated method stub
//			((ViewPager) container).removeView(list.get(position));
//		}


	}


testFgAdapter=new TestFgAp(getSupportFragmentManager(),fgList);

中getSupportFragmentManager()是FragmentActivity的方法



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值