Benachrichtigt die ContentResolver notifyChange-Methode auch Details von Uri?

8

Während der Datenverarbeitung verwende ich notifyChange mit einem Uri .

Nehmen wir an, ich benachrichtige content://com.package.my/items .

Ich habe auch Activity angegeben, das Daten von content://com.package.my/items/1 anzeigt.

Wird die Meldung 'general' Uri auch in 'detail' angezeigt? Uri wird benachrichtigt?

    
pixel 06.12.2011, 08:41
quelle

1 Antwort

11

Die Methode notifyChange sendet eine Benachrichtigung für den detaillierten URI. Wenn Sie jedoch ContentObserver bei ContentResolver.registerContentObserver(Uri uri, boolean notifyForDescendents, ContentObserver observer) registrieren, können Sie eine Basis Uri registrieren, um benachrichtigt zu werden, wenn ein Nachkomme Uri geändert wurde (wird zum Senden der Änderungsbenachrichtigung verwendet).

Ich nehme an, Sie haben eine ContentProvider und fragen eine Cursor von dieser ContentProvider über eine ContentResolver ab. Wenn Sie den Benachrichtigungs-URI für die Cursor , die Sie in der ContentProvider.query() -Methode zurückgegeben haben, festlegen, aktualisiert Ihr CursorAdapter automatisch die Ansicht, wenn sich der Benachrichtigungs-URI oder einer seiner Nachkommen ändert (siehe Quelle von Cursor ). Wenn Sie die Daten mit ContentProvider ändern, müssen Sie eine Benachrichtigung in update,insert,delete Ihrer ContentProvider senden.

thaussma 06.12.2011, 09:47
quelle