2

私はおそらく2つの別々Cursorのオブジェクトを操作する必要がある状況にあります。2つの別々のカーソルを組み合わせて独自のカーソルを作成する方法があることを期待していました。しかし、それが許可されているかどうかはわかりません。読めないところを読んでみてください。でも、具体的な質問をしたかったので、同じような状況にある人には少なくとも注意を向けさせていただきました。

4

2 に答える 2

1

2つの別々のカーソルを組み合わせて独自のカーソルを作成する方法があることを望んでいました

試しましたMergeCursorか?ドキュメントの引用:

カーソルの配列を単一の線形カーソルとして表示できるコンビニエンスクラス。表示されるカーソルのスキーマは完全にMergeCursorの作成者次第であり、必要に応じて異なる場合があります。getColumns、getColumnIndexなどを呼び出すと、MergeCursorが現在指している行の値が返されます。

また、あなたの目的が両方Cursorsを何らかの形で表示することである場合、あなたはAdapterViewのものを使用して、レベルで物事を連結することができますMergeAdapterAdapter

于 2012-11-04T20:34:51.117 に答える
1

具体的なユースケースの解決策を見つけたとしても、私はあなたの主な質問に答えたいと思います。

はい、独自のカーソルを実装することは可能です。

カーソルはパブリックインターフェイスであり、誰でも実装できます。

ただし、実装する必要のあるメソッドが大量にあります。

基本クラスとしてAbstractCursorまたはAbstractWindowedCursorを使用すると、オーバーヘッドを削減するのに役立ちます。

利用可能な具体的な実装も拡張できます。

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

于 2012-11-04T20:54:48.560 に答える