1. 程式人生 > >handler訊息機制實現延時顯示或延時關閉

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);**
        }