【发布时间】:2019-05-10 22:19:38
【问题描述】:
我正在开发一款类似于秒表游戏的 Android 应用。无论如何,到目前为止,圆形进度条在第一次启动和停止时都能正常工作,但在那之后,圆形进度条会发疯,我希望它一直持续到时间用完,无论是否触摸停止按钮.此外,如果在计时器开启时按下重置按钮,则会产生巨大的随机时间。非常感谢任何帮助。
这里有一些代码:
/**
* method to initialize the values for count down timer
*/
/**
* method to start count down timer
*/
private void startCountDownTimer() {
countDownTimer = new CountDownTimer(timeCountInMilliSeconds, 1000) {
@Override
public void onTick(long millisUntilFinished) {
timeUntilDone = (int)(millisUntilFinished/1000);
textViewTime.setText(hmsTimeFormatter(millisUntilFinished));
progressBarCircle.setProgress((int) (millisUntilFinished / 1000));
}
@Override
public void onFinish() {
textViewTime.setText(hmsTimeFormatter(timeCountInMilliSeconds));
// call to initialize the progress bar values
setProgressBarValues();
// hiding the reset icon
imageViewReset.setVisibility(View.GONE);
// changing stop icon to start icon
imageViewStartStop.setImageResource(R.drawable.icon_start);
// making edit text editable
editTextMinute.setEnabled(true);
// changing the timer status to stopped
timerStatus = TimerStatus.STOPPED;
pauseClock();
stopWatch.setText("0:00:00");
// stopCountDownTimer();
// stopCountDownTimer();
}
}.start();
if (timerStatus==TimerStatus.STOPPED) {
countDownTimer.start();
}
else{
startClock();
}
}
/**
* method to stop count down timer
*/
private void stopCountDownTimer() {
countDownTimer.cancel();
}
/**
* method to set circular progress bar values
*/
private void setProgressBarValues() {
progressBarCircle.setMax((int) timeCountInMilliSeconds / 1000);
progressBarCircle.setProgress((int) timeCountInMilliSeconds / 1000);
}
/**
* method to reset count down timer
*/
private void reset() {
startTime = 01; timeInMilliseconds =01; timeSwapBuff = 01; updateTime=01;
stopWatch.setText("0:00:00");
progressBarCircle.setProgress(timeUntilDone);
}
【问题讨论】:
-
您的问题无法理解。澄清和分享图像。
-
感谢您的帮助,我认为这是我只需要看看我是如何调用我的方法的。
-
你的意思是要停止进度条并从上一站开始?
-
我希望进度条充当与中间计时器无关的计时器,但我希望启动按钮同时启动计时器和进度条但是当我点击只停止中间的计时器停止,进度条会一直走,直到时间到为止。
标签: android android-studio progress-bar stopwatch