如题,底部的 tab 切换并不影响之前的浏览状态,比如最右面的 tab 我关注的,选一个问题进去浏览,切换到其他 tab 再回来,还是保持刚才的浏览状态不变,是 fragment 自带功能还是 onRestoreInstanceState 这些功能实现的?
如题,底部的 tab 切换并不影响之前的浏览状态,比如最右面的 tab 我关注的,选一个问题进去浏览,切换到其他 tab 再回来,还是保持刚才的浏览状态不变,是 fragment 自带功能还是 onRestoreInstanceState 这些功能实现的?
|
michaelye1988Mar 3, 2017
1
fragment 相互切换不会对之前的浏览造成影响,注意检查一下 fragment 切换的时候是不是把之前的给销毁了又创建了一遍导致的
|
|
BownMar 3, 2017
2
试试 ViewPager#setOffscreenPageLimit
|
|
bqbkbzMar 3, 2017
3
有可能是嵌套 fragment ,每一个 tab 是一个 fragment ,使用 getChildFragmentManager 来管理自己 tabFragment 里的 fragment ,这样就不必自己维护栈结构了
|
|
4
@michaelye1988 fragment 里面有跳转啊,你试一下
|
|
hanityMar 3, 2017
5
创建用 add, 切换用 show 、 hide
|
|
wsxyeahMar 3, 2017 via iPhone
6
用 show/hide ,别用 replace
|
|
michaelye1988Mar 3, 2017
7
@jasonhui512 我知道有跳转,你误会我的意思了,其它人也提示你了,如 @hanity 和 @wsxyeah 所说的方法,不要 replace 。
还有就是 @Bown 所说的,如果采用的是 ViewPager 和 Fragment 结合的方式,需要设置 setOffscreenPageLimit , ViewPager 中有几个 Fragment ,就需要设置为多少。它能帮你缓存住 Fragment ,不会被销毁。 |
|
ilumerMar 4, 2017
8
如果是 viewpager 的话,可以直接保存实例(fragmentpageradapter)或者设置缓存数量还有楼主的答案(fragmentstatepageradapter)
|