2012-04-02 29 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