0

私は次のようなコードを持っています

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完了したら、このハンドラーを停止するにはどうすればよいですか?

4

1 に答える 1

1

この行は可能ですか:

handlerTimer2.postDelayed(runnableTimer2, 1000);

削除された後でもタイマーが実行されるようにしますか?

于 2012-08-15T06:35:26.967 に答える