我使用標題,消息的數據創建一個recyclerview。我想刪除列表中的一個項目。但列表位置與數據庫表格ID(列)不匹配。 ID是不可變的,每次都改變列表視圖的位置。Android - RecyclerView ID與SQLite數據庫行ID不匹配
解決此問題的方法是什麼?如何在數據庫中創建自定義ID或者如何根據數據庫ID分配listview的位置?
我使用標題,消息的數據創建一個recyclerview。我想刪除列表中的一個項目。但列表位置與數據庫表格ID(列)不匹配。 ID是不可變的,每次都改變列表視圖的位置。Android - RecyclerView ID與SQLite數據庫行ID不匹配
解決此問題的方法是什麼?如何在數據庫中創建自定義ID或者如何根據數據庫ID分配listview的位置?
如何根據數據庫標識分配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)
使用[這](https://gist.github.com/Shywim/127f207e7248fe48400b)通用適配器 – pskink