美文网首页
2020-01-13ViewPager2的Fragment懒加载

2020-01-13ViewPager2的Fragment懒加载

作者: Yangxy_Lazy | 来源:发表于2020-01-13 17:20 被阅读0次

一、ViewPager2需要使用FragmentStateAdapter

  • 不会调用Fragment的setUserVisibleHint(在Android X中已经被废弃),所以不能依靠setUserVisibleHint 来判断Fragment是否可见。
  • FragmentStateAdapter 会自动销毁不再用的Fragment(打log发现销毁倒数第三个),如果需要 首次加载后不再进行接口请求,则需要设置ViewPager的offscreenPageLimit
/**
 * Created by Yangxy on 2020-01-13
 * description --
 */
abstract class LazyFragment : Fragment() {

    private var isFirstLoad = true


    override fun onResume() {
        super.onResume()
        if (isFirstLoad) {
            isFirstLoad = false
            lazyLoad()
        }
    }

    abstract fun lazyLoad()
}

//设置offscreenPageLimit 为列表总数
vp_node.offscreenPageLimit = nodeList.size

相关文章

网友评论

      本文标题:2020-01-13ViewPager2的Fragment懒加载

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