如何在我的Android应用程序中使用CountDownTimer?

时间:2016-06-03 20:46:19

标签: android timer

我正在编写一个Android应用程序。我在我的应用程序之间有一个CountDownTimer,我希望直到计时器为零,所有我的应用程序运行(用户必须选择真正的按钮),当用户变为零并且用户没有做任何事情时,执行其他操作(用户输了)。

这是CountDownTimer:

    new CountDownTimer(5000, 1000) {
        public void onTick(long millisUntilFinished) {
            a.setText("" + millisUntilFinished / 1000);
            /*while (millisUntilFinished / 1000 != 1) {

            }*/
        }
        public void onFinish() {
            a.setText("done!");
        }
    }.start();

这是代码的一部分:

  if ((randomAndroidColor1 == rainbow[0]) {
        findViewById(ans).setBackgroundColor(rainbow2[0]);

        findViewById(ans).setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View view) {

                c3.setBackgroundColor(rainbow1[2]);
            }
        });
    }

如果条件,如何访问上面的millisUntilFinished变量? 计时器和条件是否正常工作,但我想将它们结合起来。

1 个答案:

答案 0 :(得分:0)

如果我理解正确,你可以使用实例布尔变量。

 boolean isWon = false;
private void countDown() {
    isWon=false;  // Reset every method call.

    // Set listener once in  method.
    findViewById(R.id.answer).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            isWon=true;
        }
    });


    new CountDownTimer(5000, 1000) {
        public void onTick(long millisUntilFinished) {
            // onTick works.
        }
        public void onFinish() {
            if(isWon){
                // Won
            }else{
                // Lose
            }
        }
    }.start();
}