解决fragment与viewpager一起使用时fragment中的listview数据出现重复
来源:互联网 发布:战争雷霆 海战 知乎 编辑:程序博客网 时间:2024/06/14 05:12
转载地址:http://my.oschina.net/buobao/blog/644699?fromerr=OnaCVQp7
activity中需要显示一个切换页显示3个不同的视图数据,这里需要使用viewpager+fragment实现切换。在fragment中需要在onstart或者onresume中初始化加载数据。但是viewpager在切换fragment时会调用下一个fragment的多个回调,比如:
在加载Tab-A时会实例化Tab-B中fragment,依次调用:onAttach、onCreate、onCreateView、onActivityCreated、onStart和onResume。同样切换到Tab-B时也会初始化Tab-C中的fragment。但是fragment中的数据(如读取的服务器数据)没有相应清除,导致重复加载数据。
解决方式:给pager设置一个缓存,
mViewPager.setOffscreenPageLimit(3);
这样在切换fragment时就不会重复加载数据。
tab在切换时没用清除fragment中保存的数据可以看出fragment没有被重新创建,但是依次重新调用了以上的回调方法,给pagerview设置缓存量后在tab切换时没有重新调用以上的回调函数。
ps:我们在使用viewpager时会定义一个适配器adapter,其中实例化了一个fragment列表,所以在tab切换时fragment都是已经实例化好的,所以在切换标签页时是不会重新实例化fragment对象的,因而在fragment中定义的成员变量是不会被重置的。所以为列表初始化数据需要注意这个问题
- 解决fragment与viewpager一起使用时fragment中的listview数据出现重复
- ViewPager(2):ViewPager与Fragment一起使用
- 如何解决Viewpager配合Fragment使用时相邻Fragment出现相同OptionMenu的问题?
- ViewPager与support包里的Fragment家族一起使用
- android中使用底部菜单栏造成Viewpager+fragment中ListView数据被隐藏一条的解决
- viewpager和fragment一起使用时,偶现界面不显示的解决
- ViewPager+Fragment布局中的Fragment数据更新
- 使用ViewPager+Fragment出现indexoutofboundexception
- ViewPager+Fragment使用中的Fragment生命周期
- 使用getChildFragmentManager解决Fragment嵌套ViewPager出现空白
- viewpager和fragment的一起使用
- 温补而知新——之(Fragment+ViewPager使用,frgment切换listview数据重复加载问题png)
- viewpager和fragment中数据重复。
- viewpager与fragment使用时刷新问题
- ViewPager切换Fragment时ListView数据不更新
- 安卓中的fragment与viewPager的使用问题的解决
- ViewPager与Fragment结合使用
- Fragment与ViewPager的使用
- tomcat多域名配置
- JAVA设计模式(06):结构型-适配器模式(Adapter)
- Linux应用程序以服务方式(Service)运行,并且保证死机能重启。
- Spring AOP总结
- 【败局】成都:手游第四城的泡沫与坍缩
- 解决fragment与viewpager一起使用时fragment中的listview数据出现重复
- Java获取电脑CPU个数及系统信息
- ARC、MRC混编
- iOS 开发者的 Android 第一课
- 一个简单的递归算法的思考
- swift: mutating关键字
- Android 访问Java Spring MVC服务架构
- web开发中javascript对象及条件判断解析
- Linux系统派别归类