2012-07-06 81 views
1

混合遊標我有什麼,我認爲是一個簡單的問題,但仔細搜索後,我找不到任何解決辦法:顯示兩個機器人

我有兩個不同的數據類型的兩個數據源:蘋果和桔子。唯一的共同點是「datePicked」。我想要查詢單獨的數據庫,然後在「datePicked」排序和分組的同一列表中顯示蘋果和桔子。

我看到一些使用MergeAdapter的建議。但是,除非我錯過了某些東西,否則MergeAdapter會簡單地連接兩個適配器,但它並不真正合並它們。同樣,我看到了使用MatrixCursor或MergeCursor創建單個統一遊標然後爲其創建適配器的建議。這似乎不是一個好的解決方案。 MergeCursor只顯示連接遊標,而MatrixCursor似乎要求我遍歷兩個數據集開始逐行完成遊標構建。即使這些是可接受的解決方案,我仍然有問題,即不同的模式需要不同的屏幕布局。我將如何膨脹基於底層數據類型的不同佈局?

所以我很難過,並希望得到任何幫助。是否有一個真正的合併適配器將交織數據而不是將其連接起來?如果沒有,是否有辦法創建一個適配器,該適配器根據對光標指向的特定行所做的某些業務邏輯有條件地映射和擴展布局?

對不起,如果我失去了明顯的東西。

感謝,

回答

3

要回答我的問題,看來,建立一個矩陣光標合併排序列表類型的算法通過兩個光標步進,然後通過重寫NewView的有條件充氣行佈局()方法與if語句是唯一可行的解​​決方案。一旦我制定出詳細信息,我將會向所有感興趣的人發佈代碼。

+0

正確。如果你不能直接得到一個單獨的排序遊標,你可以從數據源建立一個排序後的矩陣遊標,並使用一個'CursorAdapter'或者使用其他一些排序後的數據結構和一個'BaseAdapter' /'ArrayAdapter'。 – zapl 2012-08-12 00:49:06