Android中Handler的用法

来源:赵克立 分类: Android 标签:Android发布时间:2018-04-12 12:03:06浏览:295
版权声明:
本文为博主原创文章,转载请声明原文链接...谢谢。o_0。
温馨提示:
技术类文章有它的时效性,请留意文章更新时间以及软件的版本
更新时间:
2018-04-12 12:08:59

说明啦handler可以处理一些消息,这些消息是可以带数据的,类似win32系统编程中的消息一样如下

先在Activity中定义一个handler,里面实现啦一个显示 消息框的功能,为啥要在这实现呢。因为程序里使用啦多线程,线程中要输出一些消息提示,然而直接在线程中弹消息框会异常,所以就用这些方式,发一个消息出来实现消息框

@SuppressLint("HandlerLeak")
public  Handler handler=new Handler(){
    @Override
    public void handleMessage(Message msg) {
        int what=msg.what;
        switch (what) {
            case 1:
                Bundle bundle=(Bundle)msg.getData();
                Toast.makeText(MainActivity.this,bundle.getString("msg"),Toast.LENGTH_SHORT).show();
                break;
            default:
                break;
        }
        super.handleMessage(msg);
    }
};

在需要弹消息框的地方就发出一个消息,上面会接收到,然后解析显示

//发送消息
Message msg = new Message();
//定义消息类型
msg.what=1;
//在消息里填充一些数据
Bundle bundle = new Bundle();
bundle.putString("msg", str);
msg.setData(bundle);
// 把消息发送到主线程
handler.sendMessage(msg);

也可以实现更复杂的功能,定义一些消息常量,来区分消息类型然后进行相应的处理


微信号:kelicom QQ群:215861553 紧急求助须知
留下一点心意, :)
点击更换验证码
留言