既然我们知道了handler的工作原理,那么假设我们将子线程和主线程调换位置,在子线程中执行Looper.prepare()方法和Looper.loop()方法,以实现主线程给子线程发送消息。这是测试项目的简单界面点击上边的按钮子线程给主线程发消息,点击下边的按钮主线程给子线程发消息。首先实现子线程发消息的
final Handler handler = new Handler(){
@Override
public void handleMessage(Message msg){
Log.d("MainThread","子线程给主线程发消息了"+msg.obj);
}
};
在主线程中初始化handler对象,并简单重写handleMessage方法
button1.setOnClickListener(new View.OnClickListener(