如何使用数据绑定 record/identify Android 中所有已查看的 RecyclerView 项目
How to record/identify all viewed RecyclerView items in Android with databinding
我当前的 Android 应用程序通过 RecyclerView 显示项目列表。
我有一个要求,必须准确记录所有查看过的项目,以便报销。
我已经尝试记录由 onBindViewHolder
处理的每个项目,但是这种方法并不准确,因为项目似乎在可见之前就已经绑定了。
我的应用程序使用 databinding
来填充我所有的应用程序 Views
,我觉得必须有一种方法可以准确地只记录我的 [=15] 中实际上 "viewed" 的那些项目=] 我的用户而不是列表 viewHolder
.
中 "bound" 的项目
我不想向用户收取他们实际上没有看过的项目。
有没有我可以采用的 100% 准确的方法?
我建议您创建一个 HashMap/SparseArray
来保存每个视图项的 ID,以便能够将它们保存在数据库中。
每当调用您的 onBindViewHolder 时,您都可以在 sqlite 数据库中保留代表项目本身的其他 ID。
但您应该记住,每当用户开始滚动时都会调用 onBindViewHolder
,因此此 HashMap
将首先更新,您不会错过任何视图项目。
我当前的 Android 应用程序通过 RecyclerView 显示项目列表。
我有一个要求,必须准确记录所有查看过的项目,以便报销。
我已经尝试记录由 onBindViewHolder
处理的每个项目,但是这种方法并不准确,因为项目似乎在可见之前就已经绑定了。
我的应用程序使用 databinding
来填充我所有的应用程序 Views
,我觉得必须有一种方法可以准确地只记录我的 [=15] 中实际上 "viewed" 的那些项目=] 我的用户而不是列表 viewHolder
.
我不想向用户收取他们实际上没有看过的项目。
有没有我可以采用的 100% 准确的方法?
我建议您创建一个 HashMap/SparseArray
来保存每个视图项的 ID,以便能够将它们保存在数据库中。
每当调用您的 onBindViewHolder 时,您都可以在 sqlite 数据库中保留代表项目本身的其他 ID。
但您应该记住,每当用户开始滚动时都会调用 onBindViewHolder
,因此此 HashMap
将首先更新,您不会错过任何视图项目。