如何增加计时器数(CountDownTimer)

时间:2015-09-11 20:33:18

标签: java android android-studio countdowntimer

当我达到点击次数30次点击时,我计划将秒数增加5秒,然后当我达到60次点击时,将秒数增加到其他5次,依此类推

请帮助解决这个问题

public class game extends linear_layout {
LinearLayout b1;
TextView t1;
int num=0;
TextView timer;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.gamelayout);
    timer = (TextView)findViewById(R.id.textView3);
    b1 = (LinearLayout)findViewById(R.id.background);
    t1 = (TextView)findViewById(R.id.textView2);
    b1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            int x = 10000;
            num = num + 1;
            t1.setText(Integer.toString(num));


            new CountDownTimer(x, 1000) {

                public void onTick(long millisUntilFinished) {
                    timer.setText("" + millisUntilFinished / 1000);

                }

                public void onFinish() {

                    Intent i1 = new Intent(game.this, linear_layout.class);
                    startActivity(i1);
                    finish();
                }

         }
                    .start();
        }  }); } }

1 个答案:

答案 0 :(得分:0)

你不能更新CountDownTimer的秒数,而是当你想要增加它时,你只需取消前一个并使用新值创建一个新的CountDownTimer。

很少有事情需要注意:

不要以匿名方式执行new CountDownTimer,您需要对CountDownTimer的引用,以便在需要更新时能够停止它。

另一件事是你无法从其方法中取消CountDownTimer,所以如果你想取消之前的计时器并从onTick创建新的CountDownTimer,你应该使用像CountDownTimer alternative这样的替代方法