这只是个特殊的情况:主线程和工作线程不在同一个文件中写,然后工作线程会向主线程发送消息,主线程处理这些消息。
实现方法,向工作线程传一个主线程的Handler实例,然后在工作线程中用它来给主线传消息。
这样就可以了。
例如:
在工作线程中
class OtherThread extends Thread{
...
OtherThread(Handler handler){
mhandler = handler;
...
}
...
mhandler.obtainMessage(...).sendToTarget();
}
在主线程中
class MainThread extends Activity{
...
mhandler = new MainHandler();
otherThread = new OtherThread(mhandler)
...
class MainHandler extends Handler{
...
//重写handleMessage,处理消息
}
}