0

SQL データベースの行の削除に関して質問があります。私のメソッドは onItemClick リスナーからの ID を使用してクリックされたオブジェクトを識別しますが、1 つのアイテムが削除されるとすぐに、これらの ID はデータベースの ID 行と一致しないため機能しなくなります。私が何を意味するかを明確にするための例を次に示します。

Android のリストビュー

  • アイテム 1 (id 0)
  • アイテム 2 (id 1)
  • アイテム 3 (id 2)

データベース (id は一致するように +1 で修正されます)

  • アイテム 1 (id 1)
  • アイテム 2 (id 2)
  • アイテム 3 (id 3)

削除後

リストビュー

  • アイテム 1 (id 0)
  • アイテム 3 (id 1)

データベース

  • アイテム 1 (id 1)
  • アイテム 3 (id 3)

項目 3 がクリックされると、ID 2 のデータベース内のエントリが選択されますが、それはもう存在しないため、例外が発生します。

データベースの自動インクリメント ID 列を復元する方法を探しています

  • アイテム 1 (id 1)
  • アイテム 3 (id 2)

編集:いくつかの調査の結果、それは不可能であると結論付けなければなりません。要求されたオブジェクトの現在の行 ID と共に別のテーブルに格納されている一意の識別子のようなものを見つけようとします。

4

1 に答える 1