2

私はうまく機能するタイマーを持っています.10秒ごとにToastを出力します。私は次のコードをよく理解していると思っていましたが、タイマーを削除できないため、明らかに理解していません。これが私のコードです。

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できることはあまりありません。

全体的に、何が今何をしているのかわからないため、投稿されたコードで迷子になります。タイマーが実行される原因となる部分を削除する方法について説明していただければ幸いです。

4

1 に答える 1

1

独自の を作成するHandlerだけpost()ですTimerTick。を実行したくない場合はTimerTick、 を呼び出しremoveCallbacks()てくださいHandler

(私はそれがあなたが求めているものだと思います...)

于 2013-03-17T21:10:20.093 に答える