public void counter(){
new CountDownTimer(20000, 1000){
@Override
public void onTick(long millisUntilFinished) {
progressBar.setProgress(Integer.parseInt(String.valueOf(millisUntilFinished/1000)));
}
@Override
public void onFinish() {
gameOver();
}
}.start();
}
我正在尝试编写一个玩家可以玩20秒的游戏。计时器在比赛开始时开始,如果计时器达到0,则球员失去。如果玩家按下正确答案的按钮,我希望时间增加3秒。但是,当玩家遇到正确的答案时,我不知道如何在倒数计时器中添加时间。我尝试了一切,但找不到办法。如果还有其他方法可以实现这一目标,请告诉我。谢谢
答案 0 :(得分:0)
更改您的代码:
private int globalCount = 0; // Initialize this in Global scope of class.
public void counter(int timeCount){
globalCount = 0;
new CountDownTimer(timeCount, 1000){
@Override
public void onTick(long millisUntilFinished) {
progressBar.setProgress(Integer.parseInt(String.valueOf(millisUntilFinished/1000)));
}
@Override
public void onFinish() {
if (globalCount == 0) {
gameOver();
} else {
conter(globalCount);
}
}
}.start();
}
你要做的最后一件事是:
globalCount += 3000;
每次用户按下正确的答案按钮。希望这会有所帮助!
答案 1 :(得分:0)
在Android中,正常的倒数计时器用于降低顺序。因此您可以在正常的if-else条件下使用逻辑。
if (sec==59){
sec = 0;
min = min+1;
String text = String.format(Locale.getDefault(),"%02d min: %02d sec",min,sec);
editText.setText(text);
}else {
sec = sec+1;
String text = String.format(Locale.getDefault(),"%02d min: %02d sec",min,sec);
editText.setText(text);
}
}
您可以使用this blog
获取完整的代码