2

いくつかの複雑なことを実行し、単純な単一のではなくカーソル()の組み合わせを返したいCONTENT_URI内部があるとします。ContentProviderMergeCursorCursor

その中からカーソルURIの代わりに通知を設定すると、通知が機能しなくなることがあります。MergeCursorMergeCursor

初期コード:

            Cursor[] cursors = { extraCursorBefore, usersCursor, extraCursorAfter };
            Cursor extendedCursor = new MergeCursor(cursors);
            // Make sure that potential listeners are getting notified
            extendedCursor.setNotificationUri(getContext().getContentResolver(), CONTENT_URI_PEOPLE);
            return extendedCursor;

PS:どういうわけか、誰かが別のアイデアを持っているか、これがオリジナルではうまくいかなかった理由を理解している場合は、MergeCursorあなたの知識を共有してください。

4

1 に答える 1

2

したがって、結果の内からに通知URIを設定する必要があります。CursorMergeCursor

実際に機能するコード:

            Cursor[] cursors = { extraCursorBefore, usersCursor, extraCursorAfter };
            Cursor extendedCursor = new MergeCursor(cursors);
            // Make sure that potential listeners are getting notified
            usersCursor.setNotificationUri(getContext().getContentResolver(), CONTENT_URI_PEOPLE);
            return extendedCursor;
于 2013-03-20T13:28:44.100 に答える