2015-05-09 190 views
2

我有一個列表視圖,其中我添加了從我的數據庫中的表中檢索其值的項目。現在,在目前的情況下,如果我刪除一個項目,我傳遞完整的字符串並將其分成幾部分以向我的刪除查詢提供信息。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顯示一個字符串。我想現在我的問題已經很清楚了。 –

回答

2

您應該將從數據庫獲得的數據映射到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 –

相關問題