当前位置: 代码迷 >> Android >> 在别的线程调用主线程的handler,该如何处理
  详细解决方案

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

热度:65   发布时间:2016-05-01 13:01:25.0
在别的线程调用主线程的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的一个作用就是可以在多线程之间进行消息传递,所以这样的做法应该是对的
  相关解决方案