天天看點

Mars之android的Handler(2)

   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元件的機制,消息傳遞方向是子線程到主線程【下一節介紹主線程到子線程的消息發送】

繼續閱讀