Handler消息传递机制

在Android里,只允许UI线程修改Activity里的UI组件。

Handler类的作用主要有两个:

(1)在新启动的线程里发送消息。

(2)在主线程中获取、处理消息。

 1 package com.gnnuit.handlertest;
 2 
 3 import android.os.Bundle;
 4 import android.os.Handler;
 5 import android.os.Message;
 6 import android.app.Activity;
 7 import android.widget.TextView;
 8 
 9 public class MainActivity extends Activity {
10     private static TextView tvShow;
11     // 1 .创建出来handler 要求必须在主线程里面创建
12     private static Handler handler = new Handler() {
13         // 主线程处理消息 调用的方法
14         @Override
15         public void handleMessage(Message msg) {
16             int count = (Integer) msg.obj;
17             tvShow.setText(count + "");
18             super.handleMessage(msg);
19         }
20 
21     };
22 
23     @Override
24     protected void onCreate(Bundle savedInstanceState) {
25         super.onCreate(savedInstanceState);
26         setContentView(R.layout.activity_main);
27         tvShow = (TextView) this.findViewById(R.id.tv_show);
28 
29         new Thread() {
30 
31             @Override
32             public void run() {
33                 for (int i = 0; i < 100; i++) {
34                     try {
35                         sleep(500);
36                     } catch (Exception e) {
37 
38                     }
39                     Message msg = new Message();
40                     msg.obj = i;
41                     handler.sendMessage(msg);
42                 }
43                 super.run();
44             }
45         }.start();
46     }
47 
48 
49 }

 

posted @ 2013-12-06 10:53  yly123  阅读(185)  评论(0)    收藏  举报