android中的Handler

  我的实例:

package com.wyl.wylhandler;

import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends ActionBarActivity {
	TextView tv;
	Button btn;
	Message msg;
	Handler handler;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        tv = (TextView)findViewById(R.id.textViewId); //获取TextView
        btn = (Button)findViewById(R.id.buttonId);	  //获取Button
        myOnclickListener l = new myOnclickListener();//实例化一个监听器l
        btn.setOnClickListener(l);					  //btn绑定上面获取的监听器l
        
    }

    class myOnclickListener implements OnClickListener{
    	@Override
    	public void onClick(View v) {
    		String c = "wyl";//设置断点用的
    		int len = c.length();//设置断点用的
    		System.out.println("len:"+len);
    		//1 .通过handler对象来获取message
    		myHandler myhandler = new myHandler();
    		msg = myhandler.obtainMessage();
    		String a = "zhang雅岚";//设置断点用的
    		msg.what = len;
    		msg.obj = a;
    		//handler sendMessage(msg)后,looper就自动从消息队列里取出msg(通过handleMessage方法),
    		myhandler.sendMessage(msg);	//handler把msg存入队列中
    		System.out.println("onClick所在线程:"+Thread.currentThread().getName());
    	}	//调试发现,loop是在这一行的时候获取handler存入队列中的值msg
    }
    
    class myHandler extends Handler{
    	@Override
    	public void handleMessage(Message message) {
    		String name = "weiyongle";		//设置断点用的
    		int len2 = name.length();		//设置断点用的
    		System.out.println("len2:"+len2+","+"myHandler:"+Thread.currentThread().getName());
    		Object obj = message.obj;		
    		System.out.println("myHandler里打印出来:"+obj+"myHandler所在线程:"+Thread.currentThread().getName());
    		
    	}
    }
    

}

  

  

原文地址:https://www.cnblogs.com/Sunnor/p/4671120.html