2011-09-01 83 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