0

我有一个数据库,并使用列表适配器将其填充到列表视图中。当我从列表视图中删除任何行时,下一行的 id 不会改变。例如,如果我有 id 从 1 到 8 的行并且我删除了第 7 行,那么新的行 id 是 1、2、3、4、5、6、8。但在数据库中,行 ID 为 1、2、3、4、5、6、7。如何同步这两个,以便我可以使用 ListView 的 onclick 事件从数据库中访问正确的元素?

4

2 回答 2

0

您提供的信息不够清楚。您正在从列表视图中删除一行 id 7 并且您的表同时包含第 7 行和第 8 行。所以您仍然拥有所需的所有信息。如果您也从数据库表中删除信息,那么您将删除 id 为 7 的行。仍然没有任何问题。您可以根据列表项 id 从表中访问行。

所以可能是你弄乱了列表项位置和列表项 id。考虑 id 而不是项目的位置。

于 2012-10-09T06:24:42.107 回答
0

只需调用以下命令来更新您的 ListView :

cursor.requery();
adapter.notifyDataSetChanged();
于 2012-10-09T06:46:02.183 回答