0
私はアクティビティ2で2つのアクティビティを持っています。アクティビティを作成するときにタイマーを持っています。アクティビティon_Destroyでタイマーを開始しました。timer_task.cancel();二度目のactivity2を開いたときが、新しいタイマータスクが作成され、キャンセルまたは最後のタイマーを破壊し、タイマーin android java
private TimerTask mTimerTask;
private void doTimerTask(){
nCounter = 4;
qtimer.setMax(20);
if(mTimerTask!=null) {
mTimerTask.cancel();
}
mTimerTask = new TimerTask() {
public void run() {
handler.post(new Runnable() {
public void run() {
Log.d("Timerrrr",nCounter+"");
if(nCounter<1){
Finished();
}else {
qtimer.setProgress(nCounter);
nCounter--;
}
}
});
}};
// public void schedule (TimerTask task, long delay, long period)
t.schedule(mTimerTask, 0, 1000); //
}
private void stopTask() {
if (mTimerTask != null) {
Log.d("nCounter canceled",nCounter+"");
mTimerTask.cancel();
}
}
@Override
protected void onDestroy() {
super.onDestroy();
mTimerTask.cancel();
MainActivity.this.finish();
}
ありがとうございました 私は以前これを使用しましたが、動作しません。 アクティビティが破棄されると、タイマーも停止しますが、アクティビティが2回目に呼び出されたとき タイマが2回初期化されました – Android
onStop()を入れてみましたか? – zephyr
はい私はそれを(onstop、onDestroy、onPressBack)に入れました、私はSystem.exit(0)を使用して、働いていますが、真の方法ではありません – Android