我不知道如何为正在运行的计时器添加额外的时间。 每次我按下一个按钮我想加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();
}
答案 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; };