当前位置: 动力学知识库 > 问答 > 编程问答 >

Get remaining time on CountdownTimer and use the remaining time as a score android

问题描述:

So i have here Quiz App and have timer. So what i want to happen for example i have set the timer for 15 seconds and if the user answer the question in 5 seconds i want the 10 seconds ramaining become 10 points and it will add to previous score plus the score of you will get upon answering the questions. so for now i have this ...

 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();

and here is the one for onclick. if the user answer correctly it will add 10points automatically

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();

}

}

I dont have any idea on how to get the remaianing time on CountdownTimer and add it as a score when the answer is correct. could anyone please help me please.

网友答案:

Just use millisUntilFinished from onTick of the CountDownTimer

And the bonus will be millisUntilFinished/1000

P.S I think you better use a lower interval than 1000, so the ProgressBar will seem smoother.

分享给朋友:
您可能感兴趣的文章:
随机阅读: