1.子线程向主线程发送消息
- 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;
- }
- }
- };
2.主线程向子线程发送消息
同样是使用handler,不过在子线程中使用handler需要注意Looper.prepare();和Looper.loop();
- public class LoopThread implements Runnable {
- public Handler mHandler = null;
- @Override
- public void run() {
- Looper.prepare();
- mHandler = new Handler() {
- public void handleMessage(Message msg) {
- //do something,refresh UI;
- }
- };
- Looper.loop();
- }
- }
在主线程中调用
LoopThread.mHandler.sendEmptyMessage(0);