ViewPager+Fragment ViewPager中切换界面Fragment 初始化问题解决方案

❤出现问题:

      点击切换ViewPager的界面,设置ViewPager的currentItem,有时会初始化Fragment ,有时不会初始化。如:ViewPager中含四个Fragment,从第1,3,4界面分别进入2界面,无论中间做了那些切换操作,只要最后是从1,3进入2,setCurrentItem就不会导致2界面做初始化操作,从4界面进入就会做初始化。

❤分析原因:

     ViewPager的默认加载方式是缓存当前界面前后相邻的两个界面,即最多共缓存包括当前界面在内的三个界面信息。当滑动界面时,非相邻界面信息将被释放。

     具体分析详见    http://blog.csdn.net/liweijie_chengxuyuan/article/details/45629665

❤解决方案:

     如果想要1,3,4界面,切换至2界面,都不使2界面进行初始化操作,通过设置 mViewPager.setOffscreenPageLimit(2)。

     参数:int limit    --缓存当前界面每侧的界面数

     上述为例:表示点击4界面,2/3界面就被存入缓存啦;点击1界面,2/3界面就会被存入缓存~

今天早上想该问题,一直没想出来,中午去健身房游一圈回来,问题就被想明白了。希望看到该博客此处的朋友,遇到问题保持清醒的头脑,放松自己的大脑,让问题轻松愉快速度的被解决~

     

     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值