2013-07-14 85 views
0

我有一個關於在sql數據庫中刪除一行的問題。 我的方法使用onItemClick偵聽器中的id來標識單擊的對象,但只要一個項目被刪除,這些id就不再工作,因爲它們不匹配數據庫中的id行。這裏有一個例子來闡明我的意思:刪除行並恢復rowId自動增量

的ListView在Android的

  • 項目1(ID 0)
  • 第2項(ID 1)
  • 第3項(ID 2)

數據庫(id用+1修正以匹配)

  • 項目1(i d 1)
  • 項目2(ID 2)
  • 項目3(ID 3)

後缺失

的ListView

  • 項目1(ID 0)
  • 項目3(id 1)

Databa本身

  • 項目1(ID 1)
  • 項目3(ID 3)

當項目3現在點擊時,在與該ID 2的數據庫中的條目被選擇,但它不「T不再引起異常

我正在尋找一種方式向數據庫自動增量ID列恢復到

  • 我的存在TEM 1(ID 1)
  • 第3項(ID 2)

編輯:一些研究,我不得不得出結論,這是不可能做到這一點之後。我會嘗試找到一些獨特的標識符,這些標識符與請求對象的當前rowid一起存儲在單獨的表中。

回答

0

您必須將id放在您的變量對象中,並且當您單擊listitem時,必須找到該對象的id並將其刪除。

檢查this complete tutorial。使用lang translater。

+0

刪除工作,這不是問題。刪除後我的問題在於數據庫。 – BlueHazard

+0

刪除後是否刷新了列表視圖? – Tugrul

+0

是的。它正確顯示所有條目。這就是爲什麼ListViews ID是新分配的(項目1 = 0和項目3 = 1)。 – BlueHazard