WorkThread sendMessage to MainThread
private void SimpleThread() {
final Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
Log.i("zht","msg.what" +msg.what);
}
};
Runnable mRunnable = new Runnable() {
@Override
public void run() {
Message msg = new Message();
msg.what =102;
handler.sendMessage(msg);
}
};
Thread thread = new Thread(mRunnable);
thread.start();
}
MainThread sendMessage to workThread
在ui線程之外的線程裏處理 message (handleMessage)
必須調用
Looper.prepare();
Looper.loop();
Handler handler = null;
private void SimpleThread() {
Runnable mRunnable = new Runnable() {
@Override
public void run() {
Looper.prepare();
handler = new Handler() {
@Override
public void handleMessage(Message msg) {
Log.i("zht", "msg.what:" + msg.what);
}
};
Looper.loop();
}
};
Thread thread = new Thread(mRunnable);
thread.start();
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
Message msg = new Message();
msg.what = 101;
handler.sendMessage(msg);
}