是否可以扩展或实现光标?

时间:2012-11-04 20:30:47

标签: android cursor

我可能需要操作两个单独的Cursor对象。我希望通过组合两个独立的Cursor来创建我们自己的Cursor。但我不确定它是否被允许。阅读你不能做到的地方,但我想提出一个具体的问题,所以至少给那些有类似情况的人一些关注。

2 个答案:

答案 0 :(得分:1)

  

我希望通过组合两个单独的

来创建我们自己的Cursor

你试过MergeCursor吗?引用the documentation

  

一个convience类,它允许您将Cursors数组作为单个线性Cursor呈现。呈现的游标的模式完全取决于MergeCursor的创建者,如果需要,可能会有所不同。对getColumns,getColumnIndex等的调用将返回MergeCursor当前指向的行的值。

此外,如果您的目标是以某种形式Cursors显示AdapterView,则可以使用my MergeAdapter并在Adapter级别连接内容

答案 1 :(得分:1)

即使您找到了具体用例的解决方案,我仍然想回答您的主要问题。

是的,可以实现自己的游标。

Cursor是一个公共界面,可以由所有人实施。

但是,需要实施大量方法。

使用AbstractCursorAbstractWindowedCursor作为基类可以帮助减少开销。

也可以扩展可用的具体实现。

CrossProcessCursor, CrossProcessCursorWrapper, CursorWrapper, MatrixCursor, MergeCursor, MockCursor, SQLiteCursor