如何使用数据绑定记录/识别Android中所有已查看的RecyclerView项目

时间:2019-09-08 10:27:30

标签: android android-recyclerview android-databinding

我当前的Android应用程序通过RecyclerView显示项目列表。

我有一个要求,所有收看的项目都必须准确记录下来,以用于报销。

我尝试记录onBindViewHolder处理的每个项目,但是这种方法并不准确,因为似乎在它们可见之前就已经绑定了项目。

我的应用程序使用databinding来填充我所有的应用程序Views,我觉得必须有一种方法可以准确地记录我的recyclerView中实际“查看过”的那些项目用户,而不是与列表viewHolder“绑定”的项目。

我不希望向用户收取他们实际上没有看到的商品的费用。

我可以采用100%准确的方法吗?

1 个答案:

答案 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将首先被更新,并且您不会错过任何视图项。