在CountdownTimer上获得剩余时间并将剩余时间用作分数android
作者:互联网
所以我在这里有测验应用程序和计时器.所以我想要发生的事情,例如我已经将计时器设置为15秒,如果用户在5秒钟内回答问题,我希望10秒钟的剩余时间变为10分,它将增加到之前的分数加上你得到的分数回答问题.所以现在我有这个……
if(savedInstanceState!=null){
//saved instance state data
int exScore = savedInstanceState.getInt("score");
scoreText.setText("Score: "+exScore);
}
Timer = new CountDownTimer(15000, 1000) {
@Override
public void onTick(long millisUntilFinished) {
tv_time.setText("" + millisUntilFinished / 1000);
int progress = (int) (millisUntilFinished / 150);
progressBar.setProgress(progress);
}
@Override
public void onFinish() {
progressBar.setProgress(0);
timeUp(context);
}
}.start();
这是onclick的一个.如果用户正确回答,它将自动添加10个点
public void onClick(View view) {
Button clicked = (Button) view;
int exScore = getScore();
if (clicked.getText().toString().equals(this.active_question.getAnswer()) ) {
if (this.questions.size() > 0) {
setQuestion(questions.poll());
scoreText.setText("Score: " + (exScore + 10))
} else {
CustomGameOver cdd = new CustomGameOver(PlayQuizActivity.this);
cdd.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
cdd.show();
setHighScore();
Timer.cancel();
}
}
我不知道如何在CountdownTimer上获得剩余时间,并在答案正确时将其添加为分数.请有人请帮助我.
解决方法:
只需使用来自CountDownTimer的onTick的millisUntilFinished即可
奖金将是millisUntilFinished / 1000
P.S我认为你最好使用低于1000的间隔,所以ProgressBar看起来会更顺畅.
标签:android,countdowntimer 来源: https://codeday.me/bug/20190724/1526845.html