私はCountDownTimer
自分のActivity
クラスで拡張しており、同じクラスでグローバル変数として使用しています。変数を参照するたびにCountDownTimer
、一番上に定義した変数が 1 つあります。発生している問題は、その間(カウントダウンが終了する前)にタイマーを再起動したいときはいつでも、そのcancel()
メソッドを呼び出して、私もそうするということです
myCounter = null ;
安全な側にいるだけです。次に、それを使用して新しいインスタンスを作成します
myCounter = new MyCounter(TIMERCOUNT, TICKTIME);
何が起こっているのかonFinished()
というと、上記を実行するとメソッドが呼び出され、アクション(ユーザーの時間が終わったことを示すダイアログボックスを表示しています)が理由もなく呼び出されています。ユーザーがタイマーを停止したい場合は、途中で停止し、いつでも再開できます。このonFinished()
メソッドは、タイマーがユーザーによって中断されることなくカウントダウンを正常に完了した場合にのみ呼び出す必要があります。