2017-03-05 45 views
-1

我使用標題,消息的數據創建一個recyclerview。我想刪除列表中的一個項目。但列表位置與數據庫表格ID(列)不匹配。 ID是不可變的,每次都改變列表視圖的位置。Android - RecyclerView ID與SQLite數據庫行ID不匹配

解決此問題的方法是什麼?如何在數據庫中創建自定義ID或者如何根據數據庫ID分配listview的位置?

+0

使用[這](https://gist.github.com/Shywim/127f207e7248fe48400b)通用適配器 – pskink

回答

1

如何根據數據庫標識分配listview的位置?

你不能依賴這個位置。

您的位置1,2,3有ids 1,2,3,您刪除了id 2,您現在在位置012處有1,3個ids 1,3 1,2

我用標題創建的數據recyclerview,消息

您需要存儲的ID與數據。您不需要在Recyclerview中顯示它,但每個元素都需要它。

您應該可以將此值與ViewHolder一起存儲。

您也可以嘗試執行getItemId(int position),以始終爲您返回任何給定位置的有效ID。

例如,CursorRecyclerAdapter
(學分@pskink)

+1

不要臉板球,CursorRecyclerAdapter是我的想法;-) – pskink

+0

Thnq .. Bt位置以0開始。我該如何處理? –

+0

@Shunmugapriya使用自定義'CursorRecyclerAdapter' – pskink