【问题标题】:Does ContentResolver notifyChange method notifies also detail Uri's?ContentResolver notifyChange 方法是否也通知详细的 Uri?
【发布时间】:2011-12-06 08:41:55
【问题描述】:
在应用数据期间,我使用notifyChange 和Uri。
假设我通知content://com.package.my/items。
我还有详细信息 Activity,它显示来自 content://com.package.my/items/1 的数据。
通知“一般”Uri 是否也会导致“详细”Uri 被通知?
【问题讨论】:
标签:
android
uri
datacontract
android-contentresolver
【解决方案1】:
方法notifyChange 发送详细URI 的通知。
但是,如果您在ContentResolver.registerContentObserver(Uri uri, boolean notifyForDescendents, ContentObserver observer) 注册了ContentObserver,您可以注册一个基础Uri,以便在任何后代Uri 发生更改时收到通知(用于发送更改通知)。
我假设您有一个 ContentProvider,并且您通过 ContentResolver 从该 ContentProvider 查询一个 Cursor。如果您在ContentProvider.query() 方法中返回的Cursor 上设置通知URI,那么如果通知URI 或其任何后代发生更改,您的CursorAdapter 将自动更新视图(请参阅Cursor 的来源)。如果您与ContentProvider 一起更改数据,请务必在update,insert,delete 中发送您的ContentProvider 的通知。