在Android的两个活动中使用一个处理程序?

时间:2018-11-07 14:10:31

标签: android android-activity android-handler

我的应用程序中有2个活动,例如ActivityOneActivityTwo,还有一个在后台做一些工作的第三类,例如WorkerClassWorkerClass使用MessageHandler发送到UI线程。

ActivityOne对某些消息感兴趣,而ActivityTwo对其他消息感兴趣,但它们都在主线程上运行。是否可以定义一个Handler实例来满足主线程上的两个活动?

到目前为止,我正在考虑创建两个Handler实例,一个用于ActivityOne,另一个用于ActivityTwoWorkerClass将通过这两个处理程序实例向每个活动发送消息。

在代码中应该是:

class ActivityOne extends Activity{
 Handler mHandler = new Handler( (message) -> makeChangesToLocalActivity(message) )
}


class ActivityTwo extends Activity{
         Handler mHandler = new Handler( (message) -> makeChangesToLocalActivity(message) )
}

class WorkerClass{
 // Each activity will pass its local handler when using the WorkerClass
 Handler mActivityOneHandler,mActivityTwoHandler;
}

如果WorkerClass包含两个都附加到同一(UI)线程的不同处理程序,可以吗?看起来不太好,但这只是我能想到的。

0 个答案:

没有答案