我的应用程序中有2个活动,例如ActivityOne
和ActivityTwo
,还有一个在后台做一些工作的第三类,例如WorkerClass
。 WorkerClass
使用Message
将Handler
发送到UI线程。
ActivityOne
对某些消息感兴趣,而ActivityTwo
对其他消息感兴趣,但它们都在主线程上运行。是否可以定义一个Handler
实例来满足主线程上的两个活动?
到目前为止,我正在考虑创建两个Handler
实例,一个用于ActivityOne
,另一个用于ActivityTwo
。 WorkerClass
将通过这两个处理程序实例向每个活动发送消息。
在代码中应该是:
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)线程的不同处理程序,可以吗?看起来不太好,但这只是我能想到的。