Android:从listview和数据库中删除项目

时间:2015-05-09 16:17:32

标签: android android-listview

我有一个listview,我在其中添加了从我的数据库中的表中检索其值的项目。现在,在当前场景中,如果我要删除一个项目,我将传递完整的字符串并将其分成几部分,以便为我的删除查询提供信息。

而不是所有这些愚蠢的工作,我可以简单地传递该特定项的id,但id不在绑定到listview的字符串数组中。如何通过简单地使用项目ID来删除数据库中的项目?

注意:id是表格中的列,因此我从数据库中获取每个项目的ID。但我没有在列表视图中显示它。

   String[] records = new String[report.size()];
        for(int i = 0; i<report.size(); i++)
        {
            if(report.get(i).getDate()!="")
            {
                String eachRecord = (i+1) +". "+report.get(i).getDate() + " -- " + report.get(i).getType();
                records[i] = eachRecord;
            }

        }

        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.singlerow, records);
        listView.setAdapter(adapter);

1 个答案:

答案 0 :(得分:2)

您应该将从数据库获取的数据映射到java对象。

以列表或数组的形式从数据库存储中读取数据。

通过扩展BaseAdaper REF来创建自定义适配器,并将对象列表传递给它。

在适配器的getView中构建您的视图。

现在,当您删除列表项时,您可以轻松找到该对象并询问其ID。您可以使用此id从db中删除该项目。现在,您可以使用剩余数据刷新列表。