ViewPager往往和Fragment一起使用,这样不仅可以将Fragment强制添加切换效果,还可以在填充ViewPager时将View替换为Fragment,使其具有生命周期。
Fragment是Activity的碎片,所以Fragment和Activity一样具有生命周期,所以ViewPager和Fragment结合使用的框架已在很多大型项目上使用。
【适配器如何选择】
ViewPager必须使用PagerAdapter适配器,当结合Fragment时,官方给我们提供了两种适配器:FragmentPagerAdapter和FragmentStatePagerAdapter,这两种适配器都是PagerAdapter的子类。
那么,应该如何选择呢?
- 当页面比较多时,一般选择FragmentStatePagerAdapter;
解析:当直接使用PagerAdapter时,必须重写destroyItem方法,FragmentStatePagerAdapter已经为我们写好destroyItem的实现,源码如下:
@Override
public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
Fragment fragment = (Fragment) object;
if (mCurTransaction == null) {
mCu