2012-02-27 70 views
2

我有一個3字段,id和主題和內容的表,id是主鍵。 1)在列表視圖中顯示主題,使用適配器填充查詢結果中的數據 然後2)如果用戶單擊主題,通過查詢db中的id顯示相應的內容(因爲主題可能被重複,所以id是查詢db的一個,既然記錄可能會被刪除,所以id可能與位置不一樣)android listview id組合

問題是: 如何在第一個列表項中結合id?容易得到它,但沒有顯示它?提前致謝。

+0

如何將數據綁定到'ListView',一個簡單的適配器或一個遊標適配器? – Luksprog 2012-02-27 15:38:27

+0

請發佈您的適配器類。 – Hiral 2012-02-28 10:54:21

+0

你可以參考我的答案:http://stackoverflow.com/questions/9475636/how-to-get-rowid-of-custom-listviews-selected-rows-child/9476638#9476638 – Hiral 2012-02-28 11:01:36

回答

1

我在我正在完成的應用程序中做類似的事情。最大的區別是我不會讓用戶刪除或添加到數據庫中。所以它允許我通過getPoinding()來調用下一個表並獲取基於該選擇的光標。首先,我會建議讓你的數據庫兩張表。一個有主題,另一個有你的內容。在你的內容表中添加一個「頂級ID」列。然後您需要使用onclicklistener設置一個方法來獲取點擊項目的光標位置並將其ID保存爲字符串。使用該ID來過濾光標以獲取所需的內容。

public Cursor getSource() 
      { 
      return myDataBase.query(SOURCE_TABLE, new String[]{ 
        KEY_ID, KEY_SOURCEDESC, KEY_CATEGORY,}, 
        KEY_CATEGORY+ "=" + categories.categoryClick, null, null, null, KEY_SOURCEDESC); 
      } 

在我上面的代碼KEY_CATEGORY將是你的主題關鍵。 categories.categoryClick將是您保存的ID的值。