一、PagerAdapter的抽象方法
1.Object instantiateItem(ViewGroup container, int position)
- 要显示的页面或需要缓存的页面,会调用这个方法进行布局的初始化
- 需要实现的是添加一个view到container(ViewPager)中,并返回一个能和view关联的对象
2.void destroyItem(ViewGroup container, int position, Object object)
- 把position对应的view从container中删除
- 这里的object就是 instantiateItem()返回的对象
3.isViewFromObject(View view, Object object)
- 这个方法用于判断是否由对象生成界面,官方建议直接返回 return view == object;
- 这个方法是通过view去找到对应页面信息缓存类ItemInfo(内部调用了isViewFromObject),如果找不到,说明这个view是个野孩子,ViewPager会认为不是Adapter提供的View,所以这个View不会显示出来;
- 总结一下:isViewFromObject 方法是让view和object(内部为ItemInfo)一一对应起来
二、PagerAdapter原理和方法
1.ViewPager来控制销毁/构造页面的时机,PagerAdapter来决定具体做什么
2.instantiateItem(ViewGroup, int position)用于构造界面
3.destroyItem(ViewGroup, populate, Object object)用于移除界面
4.finishUpdate(ViewGroup) 界面变换完成时调用