Handler(15):工作线程向主线程发送消息

来源:互联网 发布:国税 软件开发 编辑:程序博客网 时间:2024/06/07 01:11
package com.example.handlersecond;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.TextView;//从workThread向mainThread发送消息public class MainActivity extends Activity {    private TextView mTextView;    private Button mButton;    private Handler mHandler;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        mHandler = new MyHandler();        mTextView = (TextView)findViewById(R.id.textViewId);        mButton = (Button)findViewById(R.id.buttonId);        ButtonClick l = new ButtonClick();        mButton.setOnClickListener(l);    }    //点击按钮时触发创建线程事件    class ButtonClick implements OnClickListener{        @Override        public void onClick(View arg0) {            netWorkThread t = new netWorkThread();            t.start();        }    }    //创建一个工作线程,按钮将启动该线程    class netWorkThread extends Thread{        @Override        public void run() {            try {                sleep(2 * 1000);            } catch (InterruptedException e) {                // TODO Auto-generated catch block                e.printStackTrace();            }            System.out.println("name:" + Thread.currentThread().getName());            //模拟S的值更新到TextView中去            String s = "更新该字符串到TextView中";            //mTextView.setText(s);            //这样做是错误的,只能在mainThread中更新UI            Message msg = mHandler.obtainMessage();            msg.obj = s;            //sendMessage无论在主线程发还是在工作线程发都是可以的            mHandler.sendMessage(msg);        }    }    //处理消息,更新TextView    class MyHandler extends Handler{        @Override        public void handleMessage(Message msg) {            super.handleMessage(msg);            String s = (String)msg.obj;            mTextView.setText(s);        }    }}
0 0
原创粉丝点击