ViewPager的使用小技巧
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永远不会被销毁。
本文由用户 jopen 自行上传分享,仅供网友学习交流。所有权归原作者,若您的权利被侵害,请联系管理员。
转载本站原创文章,请注明出处,并保留原始链接、图片水印。
本站是一个以用户分享为主的开源技术平台,欢迎各类分享!