Android 如何取消handler.postDelayed?
如果我的Android 如何取消handler.postDelayed?,android,Android,如果我的handler.postDelayed线程已经在执行中,我需要取消它怎么办?我这样做是为了取消postDelays,根据Android:删除消息队列中所有挂起的Runnable r帖子 handler.removeCallbacks(runnableRunner); 或用于删除所有消息和回调 handler.removeCallbacksAndMessages(null); 如果不想保留runnable的引用,只需调用: handler.removeCallbacksAndMessa
handler.postDelayed
线程已经在执行中,我需要取消它怎么办?我这样做是为了取消postDelays,根据Android:删除消息队列中所有挂起的Runnable r帖子
handler.removeCallbacks(runnableRunner);
或用于删除所有消息和回调
handler.removeCallbacksAndMessages(null);
如果不想保留runnable的引用,只需调用:
handler.removeCallbacksAndMessages(null);
说:
。。。如果令牌为null,则将删除所有回调和消息
我有一个实例,在运行过程中需要取消postDelayed,因此上面的代码对我的示例不起作用。我最后做的是在Runnable中进行布尔检查,因此,当代码在给定时间后执行时,它会根据当时的布尔值触发,并且对我有效
public static Runnable getCountRunnable() {
if (countRunnable == null) {
countRunnable = new Runnable() {
@Override
public void run() {
if (hasCountStopped)
getToast("The count has stopped");
}
};
}
return countRunnable;
}
仅供参考-在我的活动中,我确实使用了其他开发人员建议的代码,handler.removecallback和handler=null;取消句柄只是为了保持代码干净并确保所有内容都将被删除。整个线程还是消息?可能与snipet复制更多信息: