我有三個數據庫表:Stacks
,Dates
和Z
,其中Stacks
是我的主表,並Dates
和Z
是「孩子」的表,與外國鍵列,鏈接到Stacks
的主鍵列。 (請原諒我的術語,如果需要,我可以介紹的模式。)填充多個數據源(使用裝載機)在Android的ListView
我將從此僅指Stacks
和Dates
,減少我的解釋複雜性,但如果它是相關的,Z
將完全使用與Dates
相同。
在一個典型的ListFragment
,我建立一個ListView
使用上LoaderManager
reference page討論的實現 - 創建一個空的適配器,然後調換Cursor
出來的時候我查詢已完成(查詢在onCreateLoader()
和交換在onLoadFinished()
)。
我詢問對Stacks
表(使用URI,因爲我的DB是門前由Content Provider
使用Simple Content Provider
library實現),作爲值我要綁定到每個項目在適配器getView()
,大多發現這裏,這工作正常。
但是,我也希望綁定Dates
表中的某些值,但我不確定如何執行此操作。在使用裝載器之前,我會在適配器中創建一個新的SQLiteOpenHelper
,並直接在getView()方法中訪問輔助項,即從Dates
表中返回Cursor
。這是緩慢的,而且我敢肯定它是在事後一個壞主意:P
有沒有執行這一標準的方法,使用填充多個數據源(最好用裝載機)的列表視圖?
編輯:
- 的
Dates
表可以具有多個記錄(具有不同的值) 爲每個相關聯的Stack
。 - 我有一個ContentProvider,提供訪問所有三個表,這取決於URI
- 我很高興也使用多個加載器,因爲我懷疑我必須做任何事情,因爲我需要顯示其他信息片段不與
ListView
中的內容相關聯。
感謝Alex,我將在接下來的幾天探索這些 – ataulm
我已經決定了第二個選項,然後緩存結果,因此取消操作是不必要的,因爲這將會被重新查詢。謝謝! – ataulm