我知道有这样的帖子,但它没有清楚地回答问题。 我有一个小游戏,你点击一个头,它会移动到一个随机位置,你得到 +1 得分。同时有一个计时器从 60000(60 秒)开始倒计时并显示在下方。 我怎样才能让它在每次敲击头部时都为计时器增加一秒?
new CountDownTimer(timer, 1) {
public void onTick(long millisUntilFinished) {
textTimer.setText("Timer " + millisUntilFinished/1000);
}
public void onFinish() {
Intent intent = new Intent(MainActivity.this, Gameover.class);
startActivity(intent);
}
}.start();
在 onClickListner 事件中我有:
timer=timer+1000;
它目前不起作用,因为点击时没有添加时间。
任何帮助将不胜感激:)
最佳答案
您无法更改预定计时器的时间。实现您想要做的事情的唯一方法是取消计时器并设置一个新计时器。
public class CountdownActivity extends Activity implements OnTouchListener{
CountDownTimer mCountDownTimer;
long countdownPeriod;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_countdown);
countdownPeriod = 30000;
createCountDownTimer();
}
@Override
public boolean onTouch(View v, MotionEvent event) {
if (mCountDownTimer != null)
mCountDownTimer.cancel();
createCountDownTimer();
return true;
}
private void createCountDownTimer() {
mCountDownTimer = new CountDownTimer(countdownPeriod + 1000, 1) {
@Override
public void onTick(long millisUntilFinished) {
textTimer.setText("Timer " + millisUntilFinished / 1000);
countdownPeriod=millisUntilFinished;
}
@Override
public void onFinish() {
Intent intent = new Intent(MainActivity.this, Gameover.class);
startActivity(intent);
}
};
}
}
关于android - 如何为倒数计时器添加时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17383584/