0

我有一个关于删除 sql 数据库中的行的问题。我的方法使用来自 onItemClick 侦听器的 id 来识别单击的对象,但是一旦删除了一个项目,这些 id 就不再起作用,因为它们与数据库中的 id 行不匹配。这是一个示例来阐明我的意思:

Android中的ListView

  • 项目 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)

现在单击 Item 3 时,选择了数据库中 id 为 2 的条目,但它不再存在,这会导致异常

我正在寻找一种方法来恢复数据库自动递增 id 列

  • 项目 1 (id 1)
  • 项目 3 (id 2)

编辑:经过一些研究,我不得不得出结论,这是不可能的。我将尝试找到类似唯一标识符的东西,它与请求对象的当前 rowid 一起存储在单独的表中。

4

1 回答 1

0

您必须将 id 放在变量对象中,当您单击列表项时,您必须找到对象的 id 并将其删除。

检查这个完整的教程。使用语言翻译器。

于 2013-07-14T09:27:12.553 回答