请我是android的初学者,我试图在我的quizz中添加一个CountDownTimer,CountDownTimer运行良好,当我在时间限制内回答所有问题时,我得到的结果如下: 更正答案:14 错误的答案:16 得分:14/30
如果我没有抓紧时间,我会得到这样的东西: 更正答案:14 错误的答案:0 得分:14/30
在我看来这是正确的,因为在这种情况下答案没有错,但没有答案
但如果碰巧我在时间结束之前回答了所有问题。我得到了我想要的结果但是Count不会停止并继续运行直到0和0表示之后: 更正答案:0 错误的答案:0 得分:0/30
以下是计时器的代码:
mCountDownTimer = new CountDownTimer(90000,1000){
public void onTick(long millisUntilFinished) {
textViewtimer.setText("Seconds remaining: " + millisUntilFinished / 1000);
}
public void onFinish() {
marks = (correct+wrong)-wrong;
Intent resultintent = new Intent(getApplicationContext(),
ResultsActivity.class);
startActivity(resultintent);
mCountDownTimer.cancel();
}
}.start();
虽然我也在其他地方调用Intent部分来引导我进入乐谱页面 请任何人给我一个提示或帮助吗?
答案 0 :(得分:1)
我认为你实施onFinish
的逻辑是错误的。在{<>> 您的计时器之后onFinish
被调用 或您调用了cancel
。
您应该将mCountDownTimer.cancel();
移到最后一个问题(可能),它会自动调用onFinish
。
在您当前的代码中,如果计时器已完成,您的计时器将被取消 ,因为您在cancel
中调用了onFinish
。
答案 1 :(得分:0)
请使用以下代码。
// Global variable. Put
private boolean isRunning = true;
while(isRunning)
{
textViewtimer.setText("Seconds remaining: " + millisUntilFinished / 1000);
if((millisUntilFinished / 1000) <= 0)
isRunning = false;
}