最近做一个项目, 需要在内存里动态切换ViewPager里面的Fragment. 但是无论是我创建ViewPager还是刷新Adapter, 只要被展示过的Fragment就不刷新. 蛋疼了一下午.终于研究出来鸟.
我首先使用的是fragmentPagerAdapter.该类内的每一个生成的 Fragment 都将保存在内存之中. 也就是FragmentManager中.所以就算我刷新adapter, 它还是使用的上次缓存的Fragment. 而FragmentStatePagerAdapter的instantiateItem()则会每次都重新创建Fragment. 这样一来就每次就更新了. 具体请参照:
http://blog.youkuaiyun.com/dreamzml/article/details/9951577
在项目中遇到ViewPager内Fragment不自动刷新的问题,通过研究发现,fragmentPagerAdapter会缓存Fragment,即使刷新Adapter也无法更新。改用FragmentStatePagerAdapter,其instantiateItem()方法会每次都创建新的Fragment,从而实现刷新。详情可参考:http://blog.youkuaiyun.com/dreamzml/article/details/9951577
1万+

被折叠的 条评论
为什么被折叠?



