liangjingkanji / BRV

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

嵌套分组刷新问题 #374

Closed VCE-K closed 1 year ago

VCE-K commented 1 year ago

问题描述

大佬,嵌套分组刷新问题,不知道如何让嵌套分组(GroupDragFragment)正常使用com.drake.brv.PageRefreshLayout,我按如何复现写的代码就会出现进入页面一直刷新的问题,也可能是本身没问题,但是我不知道怎么设置嵌套分组刷新

期望行为

希望外围分组正常下拉或者上拉可以进行正常刷新,不要不停刷新

如何复现

在嵌套分组的GroupDragFragment布局文件里面,加上PageRefreshLayout套住rv,然后GroupDragFragment的initView()方法最后面再加上代码 binding.page.onRefresh { when(val adapter = binding.rv.adapter){ is BindingAdapter -> { adapter.models = getData()//我尝试过addData(),进入页面只会就会不停累加外围分组,这让我确定是在不停刷新,我进入页面没有任何操作,直接不同刷新 } } }.autoRefresh()就会一直刷新

任何业务相关问题没有fork仓库复现问题一律无法解决, 凭空猜测只会让问题晦涩难懂, 大量耽误项目维护时间

截图

Screenshot_20230628_044800_com drake brv sample

异常堆栈信息或者手机截图/视频(拖拽到输入框即可上传)

版本

VCE-K commented 1 year ago

)I (34ZD9UH69$Y6RV_TIF (L9Z(U1SCBI%{RF1K LJ0JL

liangjingkanji commented 1 year ago

因为框架不知道你是否加载完成,所以一直加载中

VCE-K commented 1 year ago

卧槽,打扰了,大佬起那么早。我可以问一下怎么解决这个问题吗,不想让它加载的话,是给它一个固定的total限制吗?val data = getData() addData(data) { index < total },还是怎么样呢

VCE-K commented 1 year ago

P3(MWM4B3)FVN{QHC@IG5 3 这个嵌套分组刷新问题我没有遇到过,以前都是正常列表下刷新正常就行了,没有用嵌套分组刷新过

liangjingkanji commented 1 year ago

解决了吗?

因为框架不知道你是否加载完成,所以一直加载中

这里的意思是让你手动调用下方法通知PageRefreshLayout加载已完成, 例如finishshowContent

你以前没有调用也能正常也许是因为使用了scope函数, 因为他会在结束时候自动调用showContent

VCE-K commented 1 year ago

大佬,前面那个问题解决了,但是我不太明白我这种情况下怎么去刷新数据呢,就是我其实onRefresh的时候并不能马上得到数据,我要通过viewModel去监听数据变化,然后才showContent() HCCIPL`C@_(~OU}F5SQ0@09

liangjingkanji commented 1 year ago

你连异步回调都不知道吗? 你觉得showContent会等loadNesteaseTopList()里面的网络请求执行完以后再执行?

我不止一次痛批过使用liveData来封装网络请求的人, 如果你要写这么恶心的代码你就自己去琢磨吧

现在都是协程同步请求, 谁还写什么网络请求回调, 脱裤子放屁一样

liangjingkanji commented 1 year ago

建议你可以加群咨询下群友

VCE-K commented 1 year ago

嗯嗯,大佬,我比较笨啊,但是这个我懂你的意思,那个showContent我知道会比网络请求先执行,我写个它在那里,是想根据前面说的手动调用下showContent方法通知PageRefreshLayout加载已完成, 看看它还会不会一直加载。 我搞了个这个类,是想和PageRefreshLayout的几种缺省页对应上,然后有一个完整的数据加载状态来对应几种缺省页.抱歉啊,马上加群 KHVO_ S){%D_D8%Q30})(R2

liangjingkanji commented 1 year ago

你看BRV的缺省页demo吧, 涉及业务的需求我没法回答清楚