0
我想創建一個倒計時器,按下按鈕後將增加其速度我還使用計數器來調整進度條。倒數計時器,按下按鈕後提高速度
現在我正在調整按鈕按下後的速度(增加),但它不是從頭開始。例如,當我開始我的程序時,定時器從頭開始遞減,這很好。然而,當我按下按鈕計數器不從這樣的起點開始:
我想這只是爲了每個按鈕按下後跑得更快,不降低長。
這是我的代碼:
mTrueBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//is the user right? if pressing True button
if(isMathProblemTrue == 1){
//user is correct
Toast.makeText(MainActivity.this,"Correct!",Toast.LENGTH_SHORT).show();
generateMathProblem();
timer_length *= 0.8;
timer_interval *= 0.8;
Log.d(TAG,"time length:"+timer_length);
Log.d(TAG,"time interval:"+timer_interval);
mCountDownTimer.cancel();
createNStartTimer();
//restartTimer();
}else{
//user is incorrect
transferUserToStartScreen();
//reset the timer
mCountDownTimer.cancel(); // cancel
}
}
});
private void createNStartTimer() {
mCountDownTimer = new CountDownTimer(timer_length,timer_interval) {
@Override
public void onTick(long millisUntilFinished) {
Log.d(TAG,"Mil until finish:"+millisUntilFinished);
int progress = (int) (millisUntilFinished/100);
mProgressBar.setProgress(progress);
}
@Override
public void onFinish() {
mProgressBar.setProgress(0);
transferUserToStartScreen();
}
}.start();
}
謝謝您的建議。我認爲你的意思是將布爾值初始化爲真,因爲它給了我算術異常除以0.無論如何,我嘗試過這樣做,但它不會從按鈕按下後從頭開始:/ –
我的appologies,我忘了設置'firstTime '一旦你創建一個新的定時器爲真。試試這個呢? –
沒問題。我已經這樣做了,現在計時器在每次按下後都會繼續運行,只有一小部分我能看到的進度條增加。 –