安卓开发笔记Handler消息处理

源码剖析,了解View的事件分发

  • dispatchTouchEvent -> setOnTouchListener -> onTouchEvent、

    前提是return 不为true

  • onClick/onLongClick来自onTouchEvent的处理

Handler消息处理

  • 未来某时做某事
  • 线程间通信

未来某时做某事

在一个页面中,加入一个跳转到HandlerActivity的按钮,通过这个来演示相应的功能。

//		这是Handler最常用的postDelayed方法
//		第一个参数是一个Runnable接口
//        mHandler = new Handler();
//        mHandler.postDelayed(new Runnable() {
//            @Override
//		延迟3s跳转到这个页面
//            public void run() {
//                Intent intent = new Intent(HandlerActivity.this,ButtonActivity.class);
//                startActivity(intent);
//            }
//        }, 3000);

线程间通信

 //注意!!!旧版的初始化方法已经被弃用,下面的是新的初始化方法
        mHandler = new Handler(Looper.getMainLooper()){
            @Override
            public void handleMessage(@NonNull Message msg) {
                super.handleMessage(msg);
                switch (msg.what){
                    case 1:
                        ToastUtil.showMsg(HandlerActivity.this,"线程通信成功!");
                        break;
                }
            }
        };

        new Thread(){
            @Override
            public void run() {
                super.run();
                Message message = new Message();
                message.what = 1;
                mHandler.sendMessage(message);
            }
        }.start();

点击handler按钮之后,跳转到HandlerActivity的界面,并且在new出的Thread(线程)与Handler相互配合,完成通信实现了Toast
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值