handle 与 Message

package com.douaty.asynctaskdemo;  
  
import android.app.Activity;  
import android.os.Bundle;  
import android.os.Handler;  
import android.os.Message;  
import android.view.View;  
import android.widget.Button;  
import android.widget.TextView;  
  
  
public class MessageActivity extends Activity {  
  
    int messageId = 0x1000;  
    TextView tv_connet;  
    Button bt_send;  
    Button bt_post;  
  
    private Handler handler = new Handler() {  
        @Override  
        public void handleMessage(Message msg){  
            if (msg.what == messageId){  
                tv_connet.setText((String)msg.obj);  
                System.out.println("--arg1: " + msg.arg1 + ",  arg2: " + msg.arg2);  
            }  
        }  
    };  
  
    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.activity_message);  
  
        tv_connet = (TextView) findViewById(R.id.tv_showcontnet);  
        bt_send = (Button) findViewById(R.id.bt_send);  
        bt_post = (Button) findViewById(R.id.bt_post);  
  
        bt_send.setOnClickListener(new View.OnClickListener() {  
            @Override  
            public void onClick(View v) {  
                new Thread(new Mythread()).start();  
            }  
        });  
  
        bt_post.setOnClickListener(new View.OnClickListener() {  
            @Override  
            public void onClick(View v) {  
                handler.post(new Runnable() {  
                    @Override  
                    public void run() {  
                        Message msg = Message.obtain(handler, messageId, 123, 456, "hello");  
                        msg.sendToTarget();  
                    }  
                });  
            }  
        });  
    }  
  
    public class Mythread implements Runnable {  
  
        @Override  
        public void run() {  
            try {  
                Thread.sleep(1000);  
            } catch (InterruptedException e) {  
                e.printStackTrace();  
            }  
//            //方式1  
//            Message msg = Message.obtain();  
//            msg.obj = "我是一个Handler!";  
//            msg.what = messageId;  
//            handler.sendMessage(msg);  
//            //方式2  
//            Message msg = Message.obtain(handler);  
//            msg.obj = "我是一个Handler!";  
//            msg.what = messageId;  
//            msg.sendToTarget();  
//            //方式3  
//            Message msg = Message.obtain(handler, messageId);  
//            msg.obj = "我是一个Handler!";  
//            msg.sendToTarget();  
//            //方式4  
//            Message msg = Message.obtain(handler, messageId, "我是一个Handler!");  
//            msg.sendToTarget();  
            //方式5  
            Message msg = Message.obtain(handler, messageId, 123, 456, "hello");  
            msg.sendToTarget();  
        }  
    }  
}  

 

posted @ 2016-03-11 11:14  Douaty  阅读(84)  评论(0)    收藏  举报