gpt4 book ai didi

android - 从 Android 应用程序中的 sqlite 数据库中删除条目。在哪里获取该行 id 以将其传递给删除函数

转载 作者:行者123 更新时间:2023-11-29 22:14:23 25 4
gpt4 key购买 nike

在浏览了很多帖子之后,我发布了我的查询。无法正确解决我的问题。

我正在使用 sqlite 并插入一些数据(名称、信息等..)

现在我得到所有行并显示在 ListView 中。

现在用户选择一个列表条目进行删除,我必须使用 id 调用 db.delete,该 id 是该特定记录的 rowid。

如何获取记录id?

当用户从 ListView 中选择时,我有位置编号,它是列表的索引。但不是该条目所在的数据库行 ID。

创建行时调用 db.insert(table, data) 时是否必须保存返回的所有 id?

所有示例都显示了类似的实现

    public void deleteRow(long id) {

db.delete(TABLE_NAME,KEY_ID + " = ?",
new String[] { String.valueOf(id) });

}

我应该从哪里获取ID?

最佳答案

为了设置 ListView ,您已经创建了一个适配器,对吧?

适配器保存您的条目并创建 View 。

询问您的适配器哪个项目位于位置 x。

BaseAdapter 实现 getItemId 方法。

public long getItemId(int position) {

// Example for List<Object>
return mItems.get(position).getId();

}

您可以简单地调用 adapter.getItemId(x); 或使用提供 ID 的 OnItemClickListener

有关更多信息,请访问 Android 开发者页面。

简单适配器: http://developer.android.com/reference/android/widget/SimpleAdapter.html

数组适配器: http://developer.android.com/reference/android/widget/ArrayAdapter.html

基础适配器: http://developer.android.com/reference/android/widget/BaseAdapter.html

希望对您有所帮助。

更新:

使用 getItemId(int) 而不是 getItem(int),感谢 @pskink

关于android - 从 Android 应用程序中的 sqlite 数据库中删除条目。在哪里获取该行 id 以将其传递给删除函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31337335/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com