Android:从列表视图以及数据库中删除项目
我有一个列表视图,其中我添加了从我的数据库中的表中检索其值的项目。现在,在目前的情况下,如果我删除一个项目,我传递完整的字符串并将其分成几部分以向我的删除查询提供信息。Android:从列表视图以及数据库中删除项目
而不是所有这些愚蠢的工作,我可以简单地传递该特定项目的ID,但ID不是绑定到列表视图的字符串数组。我怎样才能通过简单地使用项目的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);
您应该将从数据库获得的数据映射到java对象。
无论你喜欢从列表或数组中读取数据库中的数据。
通过扩展BaseAdaper
REF并将您的对象列表传递给它来创建您的自定义适配器。
在适配器的getView
建立您的看法。
现在当你删除你的列表项时,你可以很容易地找到那个对象并要求它的id。您可以使用此ID从数据库中删除项目。现在您可以使用剩余的数据刷新列表。
现在,我创建了一个Map和把key作为item和value作为它的id在删除的时候,我使用那个Map来确定我需要从数据库中删除哪个id,你可以在定制的适配器上多加些光标吗? 编辑:谢谢你的帮助 –
以下是关于如何使用自定义适配器的几个教程http://www.pcsalt.com/android/listview-using-baseadapter-android/ http://androidadapternotifiydatasetchanged.blogspot.in/ – Manish
此链接也帮助我了解自定义适配器。 http://www.codelearn.org/android-tutorial/android-listview –
代码请!任何代码。 –
从数据库中删除,然后重新加载ListView是一个选项。 –
就像getDate()和getType()一样,我也有我的getId()。但我在我的列表视图没有ID显示一个字符串。我想现在我的问题已经很清楚了。 –