我有一个名为“MainActivity”的主类,我在我的应用程序中启动了几次。
private static CountDownTimer timer;
private static final long startTime = 15 * 1000;
private static final long interval = 1 * 1000;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
timer = new StageCountDownTimer(startTime, interval);
}
private class StageCountDownTimer extends CountDownTimer {
public StageCountDownTimer(long startTime, long interval) {
super(startTime, interval);
}
@Override
public void onFinish() {
//STARTTING NEW ACTIVITY
}
@Override
public void onTick(long millisUntilFinished) {
}
}
有时用户需要在倒计时结束前关闭此活动,然后再次返回此活动。然后新的倒计时正在启动,但旧的onFinish()
倒计时结束时执行代码。当我启动此代码一次时,一切都很好。退出活动后如何取消/处置/销毁此计时器?我试过了timer.cancel()
,没有任何反应。
编辑
我想我通过将 CountDownTimer 计时器设置为公共解决了我的问题,而在其他活动中我只是使用 MainActivity.timer.cancel()