handler消息机制实现延时显示或延时关闭

在一个类中可以定义一个handler变量,复写其中的handleMessage方法,可以定义这个handler能够接收的消息,并定义在收到各种消息时需要执行的动作。

    private Handler uiHandler = new Handler() {
            @Override
            public void handleMessage(Message msg) {
                switch (msg.what) {
                    case MSG_CLOSE_TOASTVIEW:
                        dismiss();
                        break;
                }

                super.handleMessage(msg);
            }
        };

在需要发起消息的方法(如下)中,调用sendmessage方法,这样就可以将消息加入消息队列,handler接收到消息后就可以进行处理,sendMessageDelayed可以用于延时操作。

private void dismiss(int mDuration) {
            Message msg = uiHandler.obtainMessage();
            msg.what = MSG_CLOSE_TOASTVIEW;
            **uiHandler.sendMessageDelayed(msg, mDuration);**
        }

你可能感兴趣的:(handler,message,延时)