为了账号安全,请及时绑定邮箱和手机立即绑定

(Handler),主线程向子线程传递Message的示例

标签:
Java Android
  1. 首先,咱定义一个handle1在主线程:(记住添加一个Button)

Handler handler1;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    initView();
    initEvent();
    handler1= new Handler();
    handler1.sendEmptyMessage(1000);

}

接着开辟一个子线程,再接受一个handleMessage:

new Thread(){
    @Override
    public void run() {
        Looper.prepare();
        super.run();
        handler1 = new Handler(){
            @Override
            public void handleMessage(@NonNull Message msg) {
                super.handleMessage(msg);
                Log.d("TAP","从UI中传来的handler值是:"+msg.what);
            }
        };
        Looper.loop(); //相当于产生了一个while(true){}
    }
}.start();


我们设置,当点击按钮的时候,把主线程的what传过去:

ui.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
       handler1.sendEmptyMessage(1000);
    }
});


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消