这只是个特殊的情况:主线程和工作线程不在同一个文件中写,然后工作线程会向主线程发送消息,主线程处理这些消息。
实现方法,向工作线程传一个主线程的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,处理消息
}
}
本文介绍了如何在不共享文件的情况下,通过Handler实例在主线程和工作线程间建立消息传递机制,具体展示了工作线程如何向主线程发送消息,并在主线程中进行处理的方法。
169万+

被折叠的 条评论
为什么被折叠?



