我有一个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);
答案 0 :(得分:2)
您应该将从数据库获取的数据映射到java对象。
以列表或数组的形式从数据库存储中读取数据。
通过扩展BaseAdaper
REF来创建自定义适配器,并将对象列表传递给它。
在适配器的getView
中构建您的视图。
现在,当您删除列表项时,您可以轻松找到该对象并询问其ID。您可以使用此id从db中删除该项目。现在,您可以使用剩余数据刷新列表。