【问题标题】:How can I stop Handler in postDelayed mode?如何在 postDelayed 模式下停止 Handler?
【发布时间】:2013-09-24 14:05:25
【问题描述】:

当 Handler 的计数器不再计数时,如何停止它? 也许你可以告诉我如何处理下面的代码。

 public void handler() {
    nHandler.postDelayed(new Runnable() {
        @Override
        public void run() {

                viewFlipper.setDisplayedChild(8);
        }
    }, 20000);
}

【问题讨论】:

    标签: android handler runnable


    【解决方案1】:

    使用removeCallbacks

    nHandler.removeCallbacks(nhandlerTask);
    

    http://developer.android.com/reference/android/os/Handler.html#removeCallbacks(java.lang.Runnable)

    public final void removeCallbacks (Runnable r)
    
    Added in API level 1
    Remove any pending posts of Runnable r that are in the message queue.
    

    【讨论】:

    • 是的,谢谢,但 nhandlerTask 是什么?应该是runnable吧?但我的情况是什么?
    • 我写的比我发的多。那是我的处理程序,它可以工作,但我需要停止它,我不知道我的 Runnable 做什么。
    • 您也可以通过null 并检查此stackoverflow.com/questions/17839419/android-thread-for-a-timer 如果有帮助。如果 token 为 null,则所有回调都将被删除。
    • @silvia_aut 你可以通过thisnull 是的,它应该是runnable
    猜你喜欢
    • 2018-06-12
    • 2013-09-11
    • 2023-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-04
    • 2017-09-01
    • 1970-01-01
    相关资源
    最近更新 更多