java - handler.removeCallbacks(runnable) 不起作用 :(

标签 java android timer handler

我有一个代码

Handler handlerTimer2 = new Handler();
Runnable runnableTimer2 = new Runnable() {

    public void run() {
        try { afficherTimer2(); } catch (Exception e) {}
    }

};

public void afficherTimer2() {

    Log.d(MainActivity.APP, "ok afficher Timer 2");

    if (waitingBarTime < 15100) {
        waitingBar.setVisibility(ProgressBar.VISIBLE);
        waitingBar.setProgress((int)waitingBarTime);
        waitingBarTime = waitingBarTime + 1000;
        Log.d(MainActivity.APP, ""+waitingBarTime);
    }
    else
    {
        if (clientFound == true && waitingBarTime > 15000) {
            waitingBar.setVisibility(ProgressBar.INVISIBLE);
            clientFound = false;
            pointOfView.clear();
            parkDataBol = false;
            postForNewTaxi();
            waitingBarTime = 15200;
            runnable.run();
            handlerTimer2.removeCallbacks(runnableTimer2);
        }
        else
        {
            handlerTimer2.removeCallbacks(runnableTimer2);
            handlerTimer2.removeCallbacks(runnableTimer2, null);
            Log.d(MainActivity.APP, "ok afficher Timer 2 else 2");
        }

    }
    handlerTimer2.postDelayed(runnableTimer2, 1000);
}

但是当代码进入handlerTimer2.removeCallbacks(runnableTimer2);它仍然运行处理程序:S 完成后如何停止该处理程序?

最佳答案

这行有可能吗:

handlerTimer2.postDelayed(runnableTimer2, 1000);

导致计时器在被删除后仍然运行?

关于java - handler.removeCallbacks(runnable) 不起作用 :(,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11964973/

相关文章:

android - 手机和平板电脑目标的不同 Controller

c# - 为什么System.Timer不改变类成员变量?

java - 如何仅模拟函数的一部分

java - 在一系列小时间范围内处理来自同一客户端的多个请求

Android 错误 - 访问被拒绝无法保存裁剪的图像

java - Android推送通知: Multiple notifications displays same data

javascript - 清除倒计时器

C# 任务调度器查询

java - 相机预览不起作用 : Error while loading camera

java - 从jsp获取子类:useBean