Closed GGjin closed 1 year ago
完整的代码贴一下
我这里测试了下,功能是正常的
mtsViewModel.groupsSymbolsListFlow .buffer() .collectLatest { it-> LogUtils.w("---------") diffAdapter.submitList(it) }
上面是刷新的代码,
上面有录屏,看时间就好了,屏幕内划走再划回来以后时间才刷新 adapter就是正常的写法
那就要检查下你的 areContentsTheSame
和 onBindViewHolder
代码了
长时间未回复,问题先关闭了
我现在有两个疑问 一个就是为什么划到屏幕外再划归来 数据就会刷新 以及使用notifyItemChanged(index, newData)的话 也会一条条的刷新,但是我想要整体数据一起刷新的效果 ,所以还想使用submitList,
后面就是正常赋值显示的代码
长时间未回复,问题先关闭了
不好意思 前几天回了一趟老家,没有用电脑的环境就没有看github
这个issue能reopen吗,不然还需要重新开一个。
出现同样的问题,submitList第一次不刷新,
这是diffcallback代码 `class SymbolDiffCallback : DiffUtil.ItemCallback() {
override fun areItemsTheSame(oldItem: ShareSymbolData, newItem: ShareSymbolData): Boolean = oldItem.name == newItem.name
}` 这是调用submitList的方法
diffAdapter.submitList(groupSymbols?.firstOrNull { it.groupName == groupName }?.symbolList)
adapter的
override fun onBindViewHolder(holder: VH, position: Int, item: ShareSymbolData?, payloads: List<Any>)
也重写了