2012-04-02 63 views
0

我正在编写一个简单的XMPP客户端,我已经提取了所有的XMPP调用到一个漂亮的帮助模块。该模块将任何传入的XMPP消息写入SQLite数据库。在SQLiteChange上更新视图

当应用程序打开用户视图时,它从SQLite数据库抓取最新消息的副本(非常简单)。

但是,如果XMPP消息是在用户查看“ListView”时出现的,那么无论如何都会在树上冒泡消息以告诉视图更新?

XMPP客户端在应用程序上下文中运行(如果有帮助的话)。

回答

1

使用ContentProviderContentObserver,它很好地实现了观察者模式,这正是你所需要的。将内容提供到ListView适配器甚至处理几乎所有的观察侧的,你只需要实现自己的ContentProvider

+0

我可以设置内容供应商/观察员是私人的,即只有在这个应用程序内可用? – 2012-04-02 10:24:30

+0

默认情况下,ContentProvider是私人的 – smith324 2012-04-02 17:15:44

0

使用listview.notifyDataSetChanged()和列表视图将处理剩下的:)

+0

对不起,我可能没有解释清楚,问题是没有得到一个项目更新,它试图找到从另一个类目前可见的列表视图,以通知它的数据设置已经改变。 – 2012-04-02 10:25:16