如何在android中为计时器添加额外的时间

时间:2014-05-23 14:43:44

标签: android timer countdowntimer

我不知道如何为正在运行的计时器添加额外的时间。 每次我按下一个按钮我想加1秒钟。 所以我的问题是,我该怎么做?

这是我的计时器(代码):

    private void TimerGame(){
     new CountDownTimer(15000, 1000) {

         TextView mTextField = (TextView) findViewById(R.id.timeTv);
         Button start = (Button)findViewById(R.id.startGameBtn);
         TextView go = (TextView)findViewById(R.id.tvGo);

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

         public void onFinish() {
             mTextField.setText("15");
             start.setVisibility(View.VISIBLE);
             go.setVisibility(View.INVISIBLE);

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

1 个答案:

答案 0 :(得分:0)

据我调查CountDownTimer,没有任何方法可以满足您的需求。

然而,我举了一个小例子,你可以做些什么。我还没有对它进行测试,但它不应该太难以使它走上正轨。

    private Handler countdownHandler = new Handler();
    private Runnable updateCountdownTask = new UpdateCountdownTaskRunnable();

    private int timeSeconds;

    private class UpdateCountdownTaskRunnable implements Runnable {
        @Override
        public void run() {
            timeSeconds -= 1;
            if (timeSeconds == 0) {
                stopWhatever();
            } else {
                updateWhatever();
                countdownHandler.postDelayed(this, 1000);
            }
        }
    }

    private void start() {
        timeSeconds = 20;//seconds
        countdownHandler.postDelayed(updateCountdownTask, 0);
    }

    private void stop(){};
    private void update(){};
    private void addTime(int time){ timeSeconds += time; };