【发布时间】:2021-12-21 12:48:07
【问题描述】:
我有一个回收站视图,每个项目都有一个删除按钮,回收站视图的数据是一个实时数据列表。
基本上我观察列表,当我删除一个项目时,我只是将适配器再次传递给带有新列表的回收器视图,以便更新列表,就像这样
viewModel.loadBasketItems().observe(viewLifecycleOwner, {
adapter = BasketFragmentAdapter(it, viewModel, requireContext())
recycler.adapter = adapter
})
我的第一个问题是每次我删除一个项目时,图像都会跳到列表的顶部,因为列表是完全重新创建的
我的第二个问题是我认为这不是很有效。
更改某些内容后更新回收站视图的最佳方法是什么
【问题讨论】:
-
这个问题可以使用
DiffUtil;它仅使用更改更新 RecyclerView -
@Zain 如果他们每次都重置实际的适配器,那将无济于事。
-
@GabeSechan 当然,我只是给出了想法,而不是实现;他们应该提交新列表而不是重置它
标签: android kotlin android-livedata