19 主线程向子线程发送信息(handler)

package com.fmy.handler;

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Toast;

public class MainActivity extends Activity {

    Handler handler;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        new Demo().start();
    }

    public void click(View v) {
        handler.sendEmptyMessage(1);
    }

    class Demo extends Thread {

        @Override
        public void run() {
            super.run();
            Looper.prepare();//比需使用 并且在其上面使用 不然直接报错奔溃
            handler = new Handler() {

                @Override
                public void handleMessage(Message msg) {
                    super.handleMessage(msg);
                    Toast.makeText(MainActivity.this, "嘿嘿", 0).show();
                }

            };
            //不用不会报错 但是你不用 将不会刷新收到的msg 所以换个角度来说也必须要 用 必须在其下方
            Looper.loop();
        }

    }

}

posted on 2016-09-18 19:12  木鱼哥  阅读(105)  评论(0编辑  收藏  举报

导航