Jak*_*ała 5 android countdowntimer
我有一个名为“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) {
}
}
Run Code Online (Sandbox Code Playgroud)
有时用户需要在倒计时结束前关闭此活动,然后再次返回此活动。然后新的倒计时开始,但旧的onFinish()倒计时结束时执行代码。当我启动此代码一次时,一切都很好。退出活动后如何取消/处置/销毁此计时器?我试过了timer.cancel(),没有任何反应。
编辑
我想我通过将 CountDownTimer 计时器设置为公共和其他活动来解决我的问题,我只是使用 MainActivity.timer.cancel()
您可以使用:
if (isFinishing()) {
CountDownTimer.cancel();
}
Run Code Online (Sandbox Code Playgroud)
所以如果活动结束,倒计时将被取消。下次您打开活动时,新的倒计时将启动。
| 归档时间: |
|
| 查看次数: |
3052 次 |
| 最近记录: |