liangjingkanji / BRV

[使用文档] Android 快速构建 RecyclerView, 比 BRVAH 更简单强大
http://liangjingkanji.github.io/BRV/
MIT License
2.51k stars 317 forks source link

东哥求助啊,实在搞不定了,也没demo可以看 #304

Closed zkzk7749 closed 1 year ago

zkzk7749 commented 1 year ago

我使用的是jetpack 的 Navigation。 我FragmentA 有 下拉上拉的rv,点击其中的一个item,跳转到fragmentB,之后,再回退到FragmentA,如何记录和保存FragmentA中的数据,其中包括,rv的数据、跳转时的位置、还有当前页,总页数等。

如果是不包含上下拉刷新的rv,我会处理,我把rv 数据提前弄到ViewModel中保存,回退时直接取ViewModel的数据到rv,但是加了上下拉之后,我就不会搞了,这里边的刷新状态、数据,页码什么的我就玩不转了

liangjingkanji commented 1 year ago

你是恢复数据不会还是恢复页码不会? 这无非就是保存变量的问题, Navigation并不会清除成员变量

如果你是完全依赖于Navigation做页面, 我建议还是Activity吧, 不然后面你问题一大堆

zkzk7749 commented 1 year ago

主要是返回时,我不太会把相关变量与 上下拉的rv同步

zkzk7749 commented 1 year ago

恩,Navigation的确不会清除成员变量

liangjingkanji commented 1 year ago

上下拉的rv和不上下拉的区别不大吧. 无非是多了个页码PageRefreshLayout.index

zkzk7749 commented 1 year ago

不行啊,脑子要炸了,没想出办法

zkzk7749 commented 1 year ago

我知道原因了。 保存PageRefreshLayout.index,需要在判断大小之前保存,否则会自动加上1.我说难怪为啥我返回的数据为空,因为页码超前了

liangjingkanji commented 1 year ago

就这脑子就要炸了, 你加了QQ群没, 你这样的卧龙凤雏人才值得收录

zkzk7749 commented 1 year ago

老群被和谐了,至今没找到组织

zkzk7749 commented 1 year ago

再求东哥指点一下,如何在Navigation优雅保存需要回退的fragment 状态、数据。百度的都不靠谱。有的还推荐使用View保存,但是根据官方推荐,view到最后都释放了

zkzk7749 commented 1 year ago

比如,百度这个,https://blog.csdn.net/qq_42420293/article/details/120796661 我怎么感觉不稳当

liangjingkanji commented 1 year ago

老群被和谐了,至今没找到组织

README和主页一直随时更新群号

liangjingkanji commented 1 year ago

再求东哥指点一下,如何在Navigation优雅保存需要回退的fragment 状态、数据。百度的都不靠谱。有的还推荐使用View保存,但是根据官方推荐,view到最后都释放了

  1. 不同视图状态不同方式保存, 不过一般是保存Fragment的View对象, 比如你可以直接使用Engine库中EngineNavFragment.kt

  2. 我平时用Activity(Nav仅仅是取代FragmentManager罢了), 不需要考虑Navigation保存, 你自己慢慢琢磨吧, 毕竟自己选了一条崎岖的山路

zkzk7749 commented 1 year ago

自己选了一条崎岖的山路。啊啊啊啊啊,哭死啊