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); 
+0

代码请!任何代码。 –

+0

从数据库中删除,然后重新加载ListView是一个选项。 –

+0

就像getDate()和getType()一样,我也有我的getId()。但我在我的列表视图没有ID显示一个字符串。我想现在我的问题已经很清楚了。 –

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

无论你喜欢从列表或数组中读取数据库中的数据。

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

在适配器的getView建立您的看法。

现在当你删除你的列表项时,你可以很容易地找到那个对象并要求它的id。您可以使用此ID从数据库中删除项目。现在您可以使用剩余的数据刷新列表。

+0

现在,我创建了一个Map和把key作为item和value作为它的id在删除的时候,我使用那个Map来确定我需要从数据库中删除哪个id,你可以在定制的适配器上多加些光标吗? 编辑:谢谢你的帮助 –

+0

以下是关于如何使用自定义适配器的几个教程http://www.pcsalt.com/android/listview-using-baseadapter-android/ http://androidadapternotifiydatasetchanged.blogspot.in/ – Manish

+0

此链接也帮助我了解自定义适配器。 http://www.codelearn.org/android-tutorial/android-listview –