其他分享
首页 > 其他分享> > 在CountdownTimer上获得剩余时间并将剩余时间用作分数android

在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