首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

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

2012-11-07 
在别的线程调用主线程的handler在主线程Handler handlernew Handler然后把这个handler传给一个Thread,让

在别的线程调用主线程的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的一个作用就是可以在多线程之间进行消息传递,所以这样的做法应该是对的

热点排行