goweii / WanAndroid

最美WanAndroid客户端

Home Page:https://github.com/goweii/WanAndroid

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

公众号tab里的fragment里的状态是怎么保存的

liwei49699 opened this issue · comments

你好 最近在用wanandroid的api做个app 感觉你的这个非常不错 但是有个疑问 你的公众号tab里的fragment的状态是怎么保存的 我调试的时候发现也调用onDestroyView了 是怎么做到的呢 谢谢大神指点一二

在LazyFragment里面缓存了rootView,在onCreateView里面判断rootView如果不为空就直接返回没有重新创建。

image

还是不行啊 我看你的CacheFragment是这样写的 LazyFragment主要是监听显示 我断点调试时发现 只会缓存相邻的 前面会调用onDestroyView rootView置空了 onCreateView获取也就为空了

抱歉记错了,回去看下代码再回复你

好的 谢谢了 新年快乐!

Fragment是保存在List里面的,并没有重新创建,虽然rootView重新创建了,但是在onCreateView的savedInstanceState保存了RecyclerView的状态,在下次重建时会去恢复。在重建时,数据也会在onCreateView中去优先加载缓存下来的接口数据,因为只缓存了第一页的,所以在rv滚动不足一页时,可以满足rv状态恢复,所以就像没销毁一样,但是当滚动超过一个分页了,就没法恢复了,就又回到顶部了。

哦 好的 是这个样子的啊 之前做过类似的需求 所以想弄清楚是怎么实现的 谢谢解答了