JC 之 ViewPager
ViewPager使用适配器来管理自己显示的View,PagerAdapter连接了ViewPager 和具体的View。ViewPager通过setAdapter方法和Adapter 的实例建立联系。ViewPager是一个负责翻页的ViewGroup,需和PagerAdapter配合数据绑定以及生成最终的View
适配器:
ViewPager 需要 PagerAdapter 的支持, Google提供了PagerAdapter的子类FragmentStatePaferAdapter ,它能协助处理许多事情。
PageAdapter,FragmentPagerAdapter,FragmentStatePagerAdapter之间的区别,需分情况使用这三个adapter
PagerAdapter:当所要展示的视图比较简单时适用
FragmentPagerAdapter:当所要展示的视图是Fragment,并且数量比较少时适用,会缓存所有Fragment,适用于相对静态的页
FragmentStatePagerAdapter:当所要展示的视图是Fragment,并且数量比较多时适用,适用于需要处理有很多页,并且数据动态性较大、占用内存较多的情况
问题场景:
viewPager2嵌套recyclerView滑动冲突,ViewPager2 在 RecyclerView 的基础上构建而成,这意味着它可以访问 DiffUtil 实用程序类。这一点带来了多项优势,但最突出的一项是,这意味着 ViewPager2 对象本身会利用 RecyclerView 类中的数据集更改动画。ViewPager2 是 ViewPager 库的改进版本,可提供增强型功能并解决使用 ViewPager 时遇到的一些常见问题。

浙公网安备 33010602011771号