viewpager+fragment(初始化时需要注意的几点问题)

最近在做一款关于天气预报的app,已经做出一半了,先放张半成品截图吧


可以看出大体使用了viewpager|+fragment这种框架,这里选择的的适配器是FragmentStatePagerAdapter,除了这个之外还有一种适配器FragmentPagerAdapter,下面先简单介绍下这两种适配器的不同点:

使用FragmentPagerAdapter  时,Fragment对象会一直存留在内存中,所以当有大量的显示页时,就不适合用FragmentPagerAdapter 了,FragmentPagerAdapter  适用于只有少数的page情况,像选项卡。这个时候你可以考虑使用FragmentStatePagerAdapter   ,当使用FragmentStatePagerAdapter  时,如果Fragment不显示,那么Fragment对象会被销毁,但在回调onDestroy()方法之前会回调onSaveInstanceState(Bundle outState)方法来保存Fragment的状态,下次Fragment显示时通过onCreate(Bundle savedInstanceState)把存储的状态值取出来,FragmentStatePagerAdapter  比较适合页面比较多的情况,像一个页面的ListView   
  
     最后一点要注意,当使用FragmentPagerAdapter 时一定要为它的宿主ViewPager设置一个有效的ID ! 

1.设置ViewPager初始化时哪个Fragment页面

假设当前ViewPager一共有3个Fragment生成的页面,当默认加载的时候只加载了从左至右的两个Fragment。当滑动后才会加载第三个,然后滑动回来,第一个又被重新加载了。后来发现,我们初始化控件的时候一定要加上

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值