Closed byjjack closed 1 year ago
因为你没有判断是否有下一页就默认认为一直存在下一页
你看下addData函数的最后一个参数
都协程的时代了还observe
, 你这代码写着不累吗?
嗯嗯好的,哈哈我这刚转kotlin所有的东西都想试试,还有就是你们的Net 很强很棒十分好用
看到框架的本质, 不要盲目模仿模板
不要简单问题复杂化, 最后代码量变多你还看不懂
就是现在遇到一个问题没弄明白,这块我改成了false ,但是上拉正常了,下拉刷新就会多两条数据
这种不足一页的建议设置一下不满一页时候不开启上拉加载功能。 https://github.com/scwang90/SmartRefreshLayout/blob/master/art/md_property.md
好的,我试试判断一下
已经添加了 但是不管用,下拉刷新还是会增加数据 ,是我设置的不对吗
原来你说的下拉刷新增加数据?
那我建议你不要使用addData方法, 因为你使用的ViewModel来处理数据所以就自己debug下代码吧
addData只是简化一下操作并不是必要的函数. 你自己获取数据自己给rv列表赋值吧, 自己去判断是否有下一页
我这边也刚写完,没什么问题,用的跟lz差不多的实现,有数据建议打印一下请求跟返回数据,看后台的页码索引是否正确返回。
onRefresh {
mViewModel.getOrder(index - 1)?.observe(this@OrderActivity) {
val totalCount = it.total
// XLog.e("总数:" + totalCount + ",总页数:" + totalPage(totalCount))
if (it.list.isEmpty()) {
showEmpty()
} else {
addData(it.list) {
index < (totalPage(totalCount))
}
}
}
}.autoRefresh()
我这边也刚写完,没什么问题,用的跟lz差不多的实现,有数据建议打印一下请求跟返回数据,看后台的页码索引是否正确返回。
onRefresh { mViewModel.getOrder(index - 1)?.observe(this@OrderActivity) { val totalCount = it.total // XLog.e("总数:" + totalCount + ",总页数:" + totalPage(totalCount)) if (it.list.isEmpty()) { showEmpty() } else { addData(it.list) { index < (totalPage(totalCount)) } } } }.autoRefresh()
addData
里面有默认判断list是否为空然后showEmpty, 你可以不用自己判断
嗯嗯我了解了,我这块后台没有返回那个页数,我debug一下看看问题出在哪里,
我这边也刚写完,没什么问题,用的跟lz差不多的实现,有数据建议打印一下请求跟返回数据,看后台的页码索引是否正确返回。
onRefresh { mViewModel.getOrder(index - 1)?.observe(this@OrderActivity) { val totalCount = it.total // XLog.e("总数:" + totalCount + ",总页数:" + totalPage(totalCount)) if (it.list.isEmpty()) { showEmpty() } else { addData(it.list) { index < (totalPage(totalCount)) } } } }.autoRefresh()
addData
里面有默认判断list是否为空然后showEmpty, 你可以不用自己判断
试了可行,更简洁了,又省几行代码,简单的列表一个类才几十行代码
我还是更推荐直接使用Net直接一行代码立刻请求返回结果更好, 你这种回调形式太麻烦, 协程时代异步任务应该写同步代码
修改代码不使用viewmodel 就没有问题了,之前下拉刷新多数据问题没有找到问题原因,介意net和brv 配合使用,不要介意使用viewmodel会出问题
我这么说吧, 你认真看下demo或者文档, onRefresh里面应该使用的是scope
, 这样才会跟随PageRefreshLayout生命周期
另外我认为问题不是ViewModel的问题只是不兼容, 你可以自己排查下具体代码位置, addData只是给出的一个参考, 你完全可以自己实现一个addData函数
嗯嗯好的
问题描述 服务器返回的数据只有两条,然后我每次上拉刷新列表里就新增两条,然后分页用的页数我直接使用的是index
期望行为 希望刷新数据是正常的
如何复现
截图
异常堆栈信息或者手机截图/视频(拖拽到输入框即可上传)
版本