PagerAdapter与ViewPager
PagerAdapter
PagerAdapter是android.support.v4包中的类,它的子类有FragmentPagerAdapter,FragmentStatePagerAdapter,这两个Adapter都是Fragment的适配器,用于实现Fragment的滑动效果。
PagerAdapter主要是ViewPager的适配器,ViewPager也是android.support.v4扩展包中添加的控件,可以实现控件的活动效果。
- instantiateItem(ViewGroup,int) // 将显示的控件进行初始化,并加入到ViewGroup中去
- destroyItem(ViewGroup,int,Object) // 销毁控件
- getCount() // 控件的数量
- isViewFromObject(View,Object) // 判断是否是同一对象
FragmentPagerAdapter
FragemntPagerAdapter用于处理Fragment页面的横向滑动,每一个页面都是一个Fragment,并且每一个Fragment都将会保存到Fragment Manager当中,当用户没有可能再次回到页面时,Fragment Manager才会将其销毁
适用于静态Fragment,每个页面对应的Fragment用户可以访问时会一直在内存中,当页面数量比较大时,建议使用FragmentStatePagerAdapter
FragmentPagerAdapter需要实现getItem(int)和getCount()方法
1 | public class MyAdapter extends FragmentActivity { |
FragmentStatePagerAdapter
FragmentStatePagerAdapter只保留当前页面,当页面离开实现后,就会被消除,释放其资源。
- getItem() 返回Fragment,生成新的Fragment对象,可以使用
setArguments()传递初始化参数 - instantiateItem() 除非FragmentManager可以从SavedState中恢复对应的Fragment的情况外,该函数会调用
getItem()函数,生成新的Fragment对象,新的对象将被FragmentTransaction.add() - destroyItem() 将Fragment移除,即调用
FragmentTransaction.remove()

