Android 为什么';通知URI对合并游标不起作用吗?

Android 为什么';通知URI对合并游标不起作用吗?,android,android-contentprovider,android-contentresolver,android-cursor,android-cursorloader,Android,Android Contentprovider,Android Contentresolver,Android Cursor,Android Cursorloader,假设在ContentProvider中有一个CONTENT\u URI,您想在其中执行一些复杂的操作,并返回一个游标组合(MergeCursor),而不是一个简单的游标 如果在MergeCursor上设置通知URI,而不是在该MergeCursor中设置光标,则通知将不起作用 初始代码: Cursor[] cursors = { extraCursorBefore, usersCursor, extraCursorAfter }; Cursor e

假设在
ContentProvider
中有一个
CONTENT\u URI
,您想在其中执行一些复杂的操作,并返回一个游标组合(
MergeCursor
),而不是一个简单的
游标

如果在
MergeCursor
上设置通知
URI
,而不是在该
MergeCursor
中设置光标,则通知将不起作用

初始代码:

            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
,那么请分享你的知识。

所以你需要在
光标上设置通知
URI
,从产生的
MergeCursor
中开始

实际工作的代码:

            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;

我想你看到了这个bug报告: