我處於這種情況,我可能需要操縱兩個單獨的Cursor
對象。我希望通過結合兩個單獨的光標來創建我們自己的光標。但我不確定它是否被允許。閱讀你不能的地方,但我想提出一個具體的問題,所以至少給予有類似情況的其他人一些注意。是否可以擴展或實現一個遊標?
回答
我希望有某種方式通過結合兩個獨立的人
你試過MergeCursor
創建自己的光標?引用the documentation:
一個可以讓您將一個遊標數組作爲單個線性遊標顯示的便利類。所提供的遊標模式完全取決於MergeCursor的創建者,如果需要的話可能會有所不同。調用getColumns,getColumnIndex等將返回MergeCursor當前指向的行的值。
另外,如果你的目標是在某種形式的AdapterView
同時顯示Cursors
,你可以使用my MergeAdapter
,並在Adapter
級串連東西
即使你找到了適合自己的具體使用情況下的解決方案,我仍然想回答你的主要問題。
是的,它可以實現你自己的遊標。
Cursor是一個公共接口,可以由大家實現。
但是,它有大量的方法需要實施。
使用AbstractCursor或AbstractWindowedCursor作爲基類可以幫助減少開銷。
可用的具體實現也可以擴展。
CrossProcessCursor, CrossProcessCursorWrapper, CursorWrapper, MatrixCursor, MergeCursor, MockCursor, SQLiteCursor
謝謝。我也注意到了'AbstractCursor'。但是,如何使用您的方法將兩個遊標內的值合併爲一個遊標?我正在查看AbstractCursor,但我看不到元素的位置。我看到它使用的所有方法,但沒有包含這些元素的任何方法。 – Andy
- 1. 一個類是否可以擴展兩個或更多類
- 2. 是否可以擴展現有的TypeConverter?
- 3. 是否可以擴展標準UI
- 4. 是否可以「擴展」或重新使用Eclipse擴展點?
- 5. 是否可以擴展DefaultValueAccessor?
- 6. 是否可以擴展DataColumn.Expression
- 7. 是否可以從擴展
- 8. 是否可以擴展類
- 9. 實現一個@ html.myTelerikGrid擴展
- 10. 是否可以比較兩個遊標?
- 11. 是否可以創建一個可擴展列表AlertDialog?
- 12. 可以擴展一個基類和實現接口
- 13. 是否有可能擴展一個庫類擴展MY_Controller類
- 14. 是否可以製作一個依賴於其他jQuery擴展的jQuery擴展?
- 15. 是否可以使用自己的Chrome擴展來執行另一個擴展?
- 16. 現在或以後擴展?
- 17. 是否有可能知道一個類是否被擴展方法擴展?
- 18. 「用戶可擴展=否」或不「用戶可擴展=否」
- 19. 一個Chrome擴展可以啓用或禁用另一個Chrome擴展嗎?
- 20. 可以實現3個接口和擴展,以及,JAVA
- 21. 是否可以有一個類擴展號碼?
- 22. 是否可以將對象「擴展」爲一個函數?
- 23. 是否可以在Swift中創建一個數組擴展?
- 24. 是否可以擴展一個XSD類型?
- 25. 是否可以擴展xaml setter?
- 26. 是否可以擴展Intellitrace事件?
- 27. 是否可以在Android中擴展Canvas?
- 28. 是否可以「隱藏」語言擴展?
- 29. 託管bean是否可以擴展DTO
- 30. 是否可以擴展私人功能?
嗚,不,我沒有嘗試,因爲我不知道它的存在。我試圖尋找一些東西,但沒有多少討論。感謝你,這就是我正在尋找的!我打算用'CursorWrapper'創建自己的,但是這樣做效果更好:)謝謝! – Andy
只是爲了澄清,我在看doc,但它並沒有解釋getCount是否會得到所有遊標的數量,持有遊標的數組等等。我假設它是所有遊標的總長度遊標添加了嗎?我是否還假定它也會按順序遍歷遊標數組中的每個索引,按順序遍歷每個單獨的遊標,而不需要我做任何額外的工作?只是想確定,因爲我從來沒有使用它。我很感激幫助。 – Andy
@Andy:「我認爲它是整體長度......」 - 是的,從源代碼中可以看到:https://android.googlesource.com/platform/frameworks/base/+/refs /heads/master/core/java/android/database/MergeCursor.java「我是否認爲它也會通過遊標中的每個索引...」 - 如果通過「索引」表示「位置」,則是的(再次使用源代碼)。 – CommonsWare