一、子线程向主线程传值:
这个实现比较简单,因为主线程自带Looper机制,所有我们不用创建Looper了,看一下代码吧:
首选在主线程里创建一个Handler
Handler mHandler = new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch (msg.what) {
case 0:
//do something,refresh UI;
break;
default:
break;
}
}
};
- 然后开启一个子线程,在子线程里直接使用Handler发送消息即可
new Thread() {
public void run() {
Message message = new Message();
message.obj = "子线程发送的消息Hi~Hi";
mHandler .sendMessage(message);
};
}.start();