android如何暂停倒计时,在Android中暂停和恢复倒计时器和进度条?

我正在制作一个简单的应用程序,它使用倒计时器,循环进度条和3个按钮启动,暂停和恢复 . 我想要做的是当特定活动开始时我按暂停它存储定时器的时间暂停并从那一点开始恢复 . 但问题是倒计时器没有停止,所以如果我在7秒暂停,进度条在7秒停止但是当我按下恢复它从任何倒数计时器值开始那一刻 . 这是我试图实现的代码 .

btnPause.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

//When user request to pause the CountDownTimer

isPaused = true;

//Enable the resume and cancel button

btnResume.setEnabled(true);

//Disable the start and pause button

btnStart.setEnabled(false);

btnPause.setEnabled(false);

}

});

btnResume.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

//Disable the start and resume button

btnStart.setEnabled(false);

btnResume.setEnabled(false);

//Enable the pause and cancel button

btnPause.setEnabled(true);

//Specify the current state is not paused and canceled.

isPaused = false;

isCanceled = false;

mCountDownTimer.start();

}

});

这是倒数计时器的代码 .

private void neck_rotations()

{

neckRotation = true;

mCountDownTimer = new CountDownTimer(NECK_ROTATION_TIME, 1000)

{

@Override

public void onTick(long millisUntilFinished)

{

if (isPaused || isCanceled)

{

paused_at = (int) (millisUntilFinished / 1000);

} else

{

timeRemaining = (int) (millisUntilFinished / 1000);

donutProgress.setMaxValue(NECK_ROTATION_TIME / 1000);

donutProgress.setValueAnimated((int) timeRemaining);

counter.setText(String.valueOf(timeRemaining));

}

}

@Override

public void onFinish()

{

response = "Jumps";

rest(response);

}

};

mCountDownTimer.start();

}

我是编程的新手,所以任何帮助或建议都表示赞赏 . 谢谢 .

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值