读书人

在别的线程调用主线程的handler,该如何

发布时间: 2012-11-07 09:56:10 作者: rapoo

在别的线程调用主线程的handler
在主线程
Handler handler=new Handler;

然后把这个handler传给一个Thread,让他sendmessage
class aThread extends Thread{

private Handler handler;

aThread(Handler handler)//构造函数
{
this. handler=handler;
}

run(){
handler.sendmessage;
}


}

实际操作结果是handler不会handleMessage

我的理解是handler在主线程收到message才会handle,所以这里sendMassge应该是在aThread 线程进行的操作,这样的话就是说绑定在主线程的handler居然在其他线程发送message

我这样的理解对吗,欢迎纠正或补充

[解决办法]
handler默认会被添加在main loop中(通过sendMessage把自已添加在main loop中),然后main loop调用handler的handleMessage
[解决办法]
handler的一个作用就是可以在多线程之间进行消息传递,所以这样的做法应该是对的

读书人网 >Android

热点推荐