Handler 基本使用

2018-07-29  本文已影响0人  一只笔

Handlerw创建

重写接收消息的方法,把接收的消息进行处理

@SuppressLint("HandlerLeak")
    private var mHandler: Handler =
        object : Handler() {
            override fun handleMessage(msg: Message?) {
                super.handleMessage(msg)
                //处理what 消息
                if (msg!!.what == 100) {
                    Log.i(TAG, "收到消息${msg.what}")

                    //处理 arg1 消息
                } else
                    Log.i(TAG, "收到消息,arg1:${msg.arg1}*****arg2:${msg.arg2}")
            }
        }

Handlerw 发关消息

/**通过Handler 发送消息*/
    private fun setMessage() {
        //发送延时
        mHandler.postDelayed({
            //发送what
            mHandler.sendEmptyMessage(100)
            val message = Message()
            message.arg1 = 200
            message.arg2 = 300
            //发送message
            mHandler.sendMessage(message)

            //设置延时1秒
        }, 1000)
    }

点击方法

点击延时1秒打印Log

//点击发送消息
        button.setOnClickListener(View.OnClickListener {
            setMessage()
        })

输出结果:


image.png
上一篇 下一篇

猜你喜欢

热点阅读