关于ViewPager+Fragment配合使用时的几个要点

转载:ViewPager+Fragment实现左右滑动页面


要点:

1、viewpager显示fragment的时,会将当前页、前页、后页的fragment生命周期执行一次。

   这很容易理解,切换但未完全切换结束时我们可以看到下一个页面的布局,所以肯定是被预先缓存了。

2、设置viewpager.setOffscreenPageLimit(int)可以设置缓存数量,这样可以使得已经创建的页面不被销毁。猜测该值默认为3,这样只缓存当前、前、后共3个页面。

3、Fragment可以设置在其对用户可见时才加载数据,详见:Andriod开发技巧——Fragment的懒加载

      如果是与ViewPager一起使用,用FragmentAdapter来控制显示的话,在Fragment的setUserVisibleHint方法中实现数据的加载判断,若可见则加载数据(firstIn);如果是通过FragmentTransaction的show和hide的方法来控制显示的放在,在Fragment.onHiddenChanged中判断。

    我之前加载数据是放在Fragment.onStart()。这样在结合ViewPager使用时,根据要点1可知:若Fragment1 2 3都有加载数据,我在切换到2时,1和3的都启动onStart()加载了一次数据。所以结合要点3解决。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

KwCoding

谢了老板您讷~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值