2013-03-17 20 views
2

我有一個很棒的計時器,它會每隔10秒輸出一次Toast。我想我明白下面的代碼不錯,但apparantly我不,我不能刪除定時器,這裏是我的代碼:如何完全刪除可運行定時器?

private void TimerMethod() { 
    this.runOnUiThread(Timer_Tick); 
} 

private Runnable Timer_Tick = new Runnable() { 
    public void run() { 
     Toast.makeText(Map.this, "You are going to " + destination,Toast.LENGTH_SHORT).show(); 
    } 
}; 

public void time() { 

    myTimer.schedule(new TimerTask() { 
     @Override 
     public void run() { 
      TimerMethod(); 
     } 

    }, 0, timerAmount); 
} 

我想:

myTimer.cancel(); 

但顯然這只是不根據Android的幫助,會影響任何當前正在運行的任務。我測試了它,但沒有奏效。

我想也許我可以對可運行對象Timer_Tick做些什麼,但是我可以用它做很多事情。

總的來說,我迷失在我的發佈代碼中,因爲我不確定現在是什麼東西,我希望能解釋如何刪除導致定時器運行的任何部分。

回答

1

只需創建您自己的Handlerpost()您的TimerTick即可。如果你不想讓你的TimerTick運行,那麼只需撥打removeCallbacks()在你的Handler

(我認爲這是你在問什麼......)

+0

感謝詹姆斯,我將看看如何做到這一點,並給它一個嘗試,如果我遇到問題,也許你能告訴我怎樣一個例子去做這個?乾杯! – deucalion0 2013-03-17 21:24:39

+0

這實際上很容易實現,感謝您的建議,我現在工作得很好! :) – deucalion0 2013-03-18 10:56:28