ViewPager的使用小技巧
2015-06-02 13:30
197 查看
1、在ViewPager中默认加载当前屏幕上的界面和左右相邻界面的数据从而实现页面滑动的快速切换。可以通过调用setOffscreenPageLimit(int)方法,定制预加载相邻页面的数目。
2、FragmentStatePagerAdapter与FragmentPagerAdapter基本相同,唯一的区别就是二者在卸载不再需要的fragment时所采用的处理方法不同。
使用FragmentStatePagerAdapter会销毁掉不需要的fragment,事务提交后可将fragment从activity中的 FragmentManager中彻底移除FragmentStatePagerAdapter中的‘state’表明:在销毁fragment时,它会将onSaveInstanceState(Bundle ) 方法中的bundle信息保存下来。用户切换回原来的页面后,保存的实例状态可用于恢复生成新的fragment。
相比之下FragmentPagerAdapter的做法大不相同。对于不再需要的fragment,FragmentPagerAdapter则选择调用事务的delect(Fragment) 方法,而非remove(Fragment) 方法来处理它,也就是说FragmentPagerAdapter只是销毁了fragment的视图,但任然将fragment实例保留在 FragmentManager中,因此FragmentPagerAdapter创建的fragment永远不会被销毁。
参考自:http://www.open-open.com/lib/view/open1432444452365.html
2、FragmentStatePagerAdapter与FragmentPagerAdapter基本相同,唯一的区别就是二者在卸载不再需要的fragment时所采用的处理方法不同。
使用FragmentStatePagerAdapter会销毁掉不需要的fragment,事务提交后可将fragment从activity中的 FragmentManager中彻底移除FragmentStatePagerAdapter中的‘state’表明:在销毁fragment时,它会将onSaveInstanceState(Bundle ) 方法中的bundle信息保存下来。用户切换回原来的页面后,保存的实例状态可用于恢复生成新的fragment。
相比之下FragmentPagerAdapter的做法大不相同。对于不再需要的fragment,FragmentPagerAdapter则选择调用事务的delect(Fragment) 方法,而非remove(Fragment) 方法来处理它,也就是说FragmentPagerAdapter只是销毁了fragment的视图,但任然将fragment实例保留在 FragmentManager中,因此FragmentPagerAdapter创建的fragment永远不会被销毁。
参考自:http://www.open-open.com/lib/view/open1432444452365.html
相关文章推荐
- 2015-6-2 文件的上传java
- 沐雪多用户微信公众平台开发源码(2016年最新的asp.net C# 微信源码)
- MVC,MVP 和 MVVM 的图示
- 妙趣横生的算法学习3(单链表)
- PHP中new static()与new self()的区别异同分析
- IIS配置php运行环境默认加载的php.ini路径
- 关于 SecureCRT 遇到一个致命的错误且必须关闭。
- SQLite 使用介绍
- SAP HR 报表开发
- 关于大型网站技术演进的思考(一)--存储的瓶颈(1)
- Hadoop伪分布模式配置部署
- SAT文章阅读题型的答题方法
- GRE Argument 范文 Topic 37
- Spring学习笔记1
- android学习---- WindowManager 接口 (
- C#中IEnumerable和IEnumerator区别
- 项目性能优化点整理
- arduino 超声波小车
- selenium webdriver定位元素
- 基于 bootstrap 的数据展示--bootgrid 样式修改。