如何停止未结束的计时器并启动新的计时器?

5

我正在尝试做一个猜谜游戏。问题是,当回答问题后(按下按钮)一个新的计时器开始时,我的计时器会溢出到下一个计时器中。这导致两个计时器以不同的时间间隔更改文本视图,这不是它应该的方式。我想知道如何停止我的先前倒计时并启动一个新的倒计时。谢谢!这是我的代码:

button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
 final TextView textic = (TextView) findViewById(R.id.button1);
                                long total = 30000;
            final CountDownTimer Count = new CountDownTimer(total, 1000) {

                public void onTick(long millisUntilFinished) {
                    textic.setText("Time Left: " + millisUntilFinished / 1000);
                }
                public void onFinish() {
                    textic.setText("OUT OF TIME!");
                    finish();
                }
                }; 
                Count.start();
2个回答

7

我还没有测试过这段代码,但是我会使用类似于以下的代码:

 final TextView textic = (TextView) findViewById(R.id.button1);
 final android.os.CountDownTimer Count = new android.os.CountDownTimer(total, 1000) {
       public void onTick(long millisUntilFinished) {
           textic.setText("Time Left: " + millisUntilFinished / 1000);
       }
       public void onFinish() {
           textic.setText("OUT OF TIME!");
       }
 }; 
 button.setOnClickListener(new View.OnClickListener() {
      public void onClick(View v) {
          Count.cancel();
          Count.start();
      }
   });

0

在完成时结束倒计时器

    @Override
    public void onFinish() {
        Log.v(TAG, "On Finish");
        textvieew.setText("your text");
        countDownTimer.cancel();

    }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接