我想使用数据库填充RecyclerView。目前没有用于使用数据库填充RecyclerView
的内置适配器,我使用了Shywim的CursorRecyclerAdapter。我已经创建了一个示例应用程序来测试它,它运行良好。我不喜欢的功能是在结果集中有一个_id
列,并在每个数据库操作上调用swapCursor()
,主要是插入和删除。使用SimpleCursorAdapter
时,这与ListView相同。我的查询是如果我使用ArrayList作为数据集而不是直接使用Cursor。
这样做的好处(我的假设):
_id
列。无需在每个数据库操作上调用swapCursor()
,因为我可以添加/删除ArrayList中的指定元素并调用notifyDataSetChanged()
我不知道swapCursor()
和notifyDataSetChanged()
背后的确切逻辑。因此,无法确定哪一个重量轻,效率高。
如果有人经历过此或之前已经这样做过,请清除我的疑虑。任何更正和建议都是最受欢迎的。
答案 0 :(得分:-1)
根据我的理解,使用数组列表和自定义适配器是更好的方法。
请参阅以下某些情况:
1)每次交易后光标都会关闭,因此数据库将顺利运行。
2)由于您可以关闭操作,因此它将永远不会生成游标未关闭的异常。
3)您可以轻松修改每一行的视图,并根据您的选择管理自定义适配器。
还有很多其他原因,但简而言之,根据我的理解,定制适配器比光标适配器更好。