gpt4 book ai didi

android - 从数据库中更新/删除 ListView 中的元素

转载 作者:行者123 更新时间:2023-11-30 03:10:25 25 4
gpt4 key购买 nike

我开始学习如何使用 SQL 数据库和 ContentProvider。我正在开发一个应用程序,它包含一个 ListActivity,其中我有一些项目。我知道如何在数据库中插入一个新元素,但问题是……

当我想更新或删除一个元素时,我长按它并在 ContextMenu 上选择一个 booth 选项。

这些是通过 Content Provider 更新/删除项目的方法:

public void updateTravel(String city, String country, int year, String note, String id {
ContentValues updateValues = new ContentValues();
updateValues.put(Travels.CITY, city);
updateValues.put(Travels.COUNTRY, country);
updateValues.put(Travels.YEAR, year);
updateValues.put(Travels.NOTE, note);

getContentResolver().update(TravelsProvider.CONTENT_URI, updateValues, Travels._ID+"="+id, null);
}

private void deleteTravel(String id){
getContentResolver().delete(TravelsProvider.CONTENT_URI, Travels._ID+"="+id, null);

我不确定这是否正确,但我看到我必须传递元素的 ID 才能更新或删除它。我的疑问是,我如何获得一件商品的 ID?

最佳答案

通常我们会做这样的事情

public class DataHolder
{
private int id;
private String data;

// Getters and setters for the insatance variables
}

对于每个 listItem,我们将保存一个 DataHolder 的对象然后将其存储在 ArrayList<DataHolder>

然后 OnItemClick您可以获取元素的位置并从 ArrayList 获取对象并得到 id并使用它。

从数据库中删除后不要忘记从列表中删除

关于android - 从数据库中更新/删除 ListView 中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21090370/

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