handler 、looper、messageque的關系在前面已經有個介紹,但前面handler(1)中handler的使用是極少的一種情況,因為handler.sendMessage()可以在MainThread中發送,也可以在WorkThread向MainThread中發送,都是可以的。。但handler主要用在WorkerThread通過message這種機制,來更新MainThread中的UI元件
Handler handler;
MainActivity extends Activity{
private void onCreat(***){
handler = new Handler(){
private void handlerMessage(Message msg){
textView.setText(msg.obj);
}
}
}
class MyThread extends Thread(){
private void run(){
Thread.sleep(2000);
Message msg = handler.obtinMessage();
msg.what = "new Mesg";
handler.sendMessage(msg);
}
}
}
這裡實作了workThread更新UI元件的機制,消息傳遞方向是子線程到主線程【下一節介紹主線程到子線程的消息發送】