我当前的Android应用程序通过RecyclerView显示项目列表。
我有一个要求,所有收看的项目都必须准确记录下来,以用于报销。
我尝试记录onBindViewHolder
处理的每个项目,但是这种方法并不准确,因为似乎在它们可见之前就已经绑定了项目。
我的应用程序使用databinding
来填充我所有的应用程序Views
,我觉得必须有一种方法可以准确地记录我的recyclerView
中实际“查看过”的那些项目用户,而不是与列表viewHolder
“绑定”的项目。
我不希望向用户收取他们实际上没有看到的商品的费用。
我可以采用100%准确的方法吗?
答案 0 :(得分:1)
我建议您创建一个{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"id": 2,
"name": "",
"category": "profile pic",
"file": "http://127.0.0.1:8000/media/media/brand_EqkvDFf.png",
"userid": 14
"User": {
"id": 2,
"username": "Jasir",
.
.
.
},
"Details": {
"mobile": 7736663588,
"palce": "Kerala",
.
.
.
},
]
}
并保留每个视图项的ID,以便能够将其持久保存在数据库中。
每次调用onBindViewHolder时,您都可以持久化ID,以表示sqlite数据库中的项目本身。
但是请记住,每当用户开始滚动时都会调用HashMap/SparseArray
,因此该onBindViewHolder
将首先被更新,并且您不会错过任何视图项。