Уведомляет ли ContentResolver метод notifyChange также подробности Uri? - PullRequest
8 голосов
/ 06 декабря 2011

Во время применения данных я использую notifyChange с Uri.

Допустим, я уведомляю content://com.package.my/items.

У меня есть также деталь Activity, которая отображает данные из content://com.package.my/items/1.

Результатом уведомления «общего» * ​​1012 * также является уведомление «подробно» Uri?

1 Ответ

11 голосов
/ 06 декабря 2011

Метод notifyChange отправляет уведомление для подробного URI. Но если вы зарегистрируете ContentObserver в ContentResolver.registerContentObserver(Uri uri, boolean notifyForDescendents, ContentObserver observer), вы можете зарегистрировать базу Uri, чтобы получать уведомления об изменении какого-либо потомка Uri (используется для отправки уведомления об изменении).

Я предполагаю, что у вас есть ContentProvider, и вы запрашиваете Cursor от этого ContentProvider до ContentResolver. Если вы установите URI уведомления для Cursor, который вы возвращаете в методе ContentProvider.query(), ваш CursorAdapter автоматически обновит представление при изменении URI уведомления или любого из его потомков (см. Источник Cursor ). Если вы измените данные вместе с вами ContentProvider, обязательно отправьте уведомление в update,insert,delete вашего ContentProvider.


...