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) {
mCurTransaction = mFragmentManager.beginTransaction();
}
if (DEBUG) Log.v(TAG, "Removing item #" + position + ": f=" + object
+ "

本文探讨了ViewPager与Fragment在安卓应用中的结合使用,讲解了如何根据页面数量选择FragmentPagerAdapter或FragmentStatePagerAdapter。FragmentStatePagerAdapter适合页面多且需要节省内存的情况,避免内存泄漏;而FragmentPagerAdapter则适用于页面少且不频繁刷新的场景。同时,提供了基本的代码实现和调用示例。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



