Android - RecyclerView ID与SQLite DB行ID不匹配

时间:2017-03-05 17:17:49

标签: android sqlite android-sqlite

我用Title,message的数据创建一个recyclerview。我想删除列表中的项目。但列表位置与DB Table ID(列)不匹配。 ID是不可变的,listview位置每次都改变。

解决这个问题的解决方案是什么?如何在DB中创建自定义ID或如何根据DB ID分配listview的位置?

1 个答案:

答案 0 :(得分:1)

  

如何根据数据库ID分配listview的位置?

你不能依赖这个职位。

您在1,2,3位置有1,2,3并且您删除了ID 2,现在您在 1,2 位置有ID 1,3。

  

我使用标题,消息

的数据创建一个recyclerview

您需要存储包含该数据的ID。您不需要在Recyclerview中显示它,但每个元素确实需要它。

您应该能够使用ViewHolder存储此值。

您还可以尝试实施getItemId(int position),以便始终为您返回任何指定位置的有效ID。

例如,CursorRecyclerAdapter
(归功于@pskink)