美文网首页
Fragment笔记

Fragment笔记

作者: 橙子6193 | 来源:发表于2022-04-09 11:29 被阅读0次

ViewPager正确使用+源码解析:https://baijiahao.baidu.com/s?id=1667454885722400073&wfr=spider&for=pc
文章摘要:

一、纠正了初始化一个fragment数组然后在getItem中根据索引返回对应Fragment的错误写法

因为这样违背了fragment懒加载设计的初衷,源码中是通过findFragmentByTag找是否存在需要的fragment,如果不存在才调用getItem创建一个新的Fragment,所以正确的写法应该是在getItem中根据索引返回对应的Fragment

二、优化ViewPager中Fragment的懒加载,使只在fragment显示时才回调resume方法

ViewPager的预加载默认值是1,即会预加载当前页面的左右两个页面,而且在预加载时就会调用预加载页面的onResume方法,当我们希望在Fragment页面显示才回调onResume方法,只需在FragmentStatePagerAdapter中传入Behavior:BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT即可

三、getItemPosition的正确用法

当我们想使用notifyDataSetChanged()去刷新ViewPager时,getItemPosition()的返回时决定当前的Fragment是否需要被remove。因此当我们不需要remove当前的Fragment时,则return POSITION_UNCHANGED(这样此Fragment就不会发生任何状态变化),否者则return POSITION_NONE(这样此Fragment就会被remove,然后重新初始化新的Fragment)。我们就可以做出类似于RecyclerView的diff操作。
基于自身产品逻辑,合理的重写getItemPosition(),避免不必要Fragment的销毁重建

相关文章

  • Fragment学习笔记(基础篇)

    Fragment学习笔记 一、Fragment的定义 Fragment是在Android 3.0才开始引入的,它能...

  • Fragment使用总结

    title: Fragment使用总结tags: 学习笔记,Android,Fragment 原文:Fragme...

  • fragment

    Android fragment源码全解析 Android源码阅读笔记(1)----Fragment 关于Frag...

  • 笔记:Fragment

    onAttach():执行该方法时,fragment与activity已经完成绑定,该方法有一个Activity类...

  • Fragment笔记

    Fragment 为何产生 同时适配手机和平板、UI和逻辑的共享。 介绍 Fragment也会被加入回退栈中。 F...

  • Fragment 笔记

    常用的一些方法 生命周期 参考 郭霖大神的 CSDN 、Android Developer 简介 碎片、片段,Fr...

  • Fragment笔记

    1、Fragment 的生命周期? Fragment 从创建到销毁整个生命周期中涉及到的方法依次 为:onAtta...

  • Fragment笔记

    定义:即为小型的activity,称为activity片段,他开发之初是为了适用于平板。 生命周期:需要依附于ac...

  • Fragment笔记

    ViewPager正确使用+源码解析:https://baijiahao.baidu.com/s?id=16674...

  • Android Fragment笔记

    生命周期 常用的子类 DialogFragment 显示浮动对话框 ListFragment 显示由Adapter...

网友评论

      本文标题:Fragment笔记

      本文链接:https://www.haomeiwen.com/subject/xkkpsrtx.html