2011-09-01 86 views
1

我的應用程序和應用程序的一個子類(ApplicationEx類)中有很多活動。我的應用程序發送和接收SIP消息。如果收到新消息,則在ApplicationEx類中收到消息回調。從ApplicationEx類中如何通知UI(特定活動)?對於每條消息,根據此鏈接廣播意圖效率不高。哪些方法可用於更新UI?以及哪種方法適合這種應用?在Android中更新UI

+1

以什麼方式更新用戶界面?強制重繪在活動的根視圖上調用'invalidate()'。 –

回答

1

我用處理程序來更新UI。爲了更新UI,我重寫了Handler.Callback的handleMessage方法。

0

我會推薦註冊一個監聽器(即創建一個OnDirtyViewListener)並讓您的Activity註冊到它。然後當Application認爲View髒污時,請打電話並將AcitvitypostInvalidate()的頂層View

+0

你能詳細解釋一下你的答案嗎? –

+0

在'Application'中使用'onViewDirty(Object ... args)'方法創建'OnDirtyViewListener'接口。在'Activity'中,'onCreate(Bundle)'方法使'Activity'寄存器調用'Application'中的'registerOnDirtyViewListener(OnDirtyViewListener)'方法。然後,當'Application'想要刷新'View'時,它只會調用監聽器的'onViewDirty()'方法。這會迫使'Activity'完成你設置該方法的任何操作(主要是'使'''''''''''''''''''''')。 – AedonEtLIRA