在一个类中可以定义一个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);**
}