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