我用Title,message的数据创建一个recyclerview。我想删除列表中的项目。但列表位置与DB Table ID(列)不匹配。 ID是不可变的,listview位置每次都改变。
解决这个问题的解决方案是什么?如何在DB中创建自定义ID或如何根据DB ID分配listview的位置?
答案 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)