private Handler mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
super.handleMessage(msg);
switch (msg.what) {
case SHOW_MENU:
showMainMenu(true);
break;
case HIDE_MENU:
showMainMenu(false);
break;
}
}
};
private void showMainMenu(boolean show) {
if (show) {
mHandler.removeMessages(HIDE_MENU);//十六进制
mHandler.sendEmptyMessageDelayed(HIDE_MENU, DELAYED_TIME);//延时时间
} else {
finish();
}
}
----------------------------------------------------------------------------------------------------------------
延迟方法执行
mMainHandler.postDelayed(new Runnable() {
public void run() {
setApps(apps, true, false);
}
}, 0);
mHandler.removeCallbacksAndMessages(null);
mHandler.postDelayed(new Runnable() {
public void run() {
notifyValueChange(child, oldVal, newVal);
}
}, mNotifyDelay);
使用工作线程中,looper
开一个工作Handler线程供其他Handler使用
public static HandlerThread sTaskRunner = new HandlerThread(
"Setting_Task_Runner");
static {
sTaskRunner.start();
}
private Handler mTaskHandler = new Handler(App.sTaskRunner.getLooper()) {
public void handleMessage(Message msg) {
switch (msg.what) {
case GET_WALLPAPER:
getWallpaper();
return;
case CHANGE_WALLPAPER:
changeWallpaper(msg.arg1);
return;
}
}
};
handler使用
最新推荐文章于 2022-08-31 16:29:19 发布