在Android中倒计时后更改按钮行为

时间:2017-06-20 19:55:53

标签: android button onclick countdowntimer

我有一个小型游戏应用程序,用户猜测应用程序随机生成的两个数字的总和。他有10秒的时间输入答案(倒数计时器用于此)。当他输入数字并单击“确认”按钮时,OnClick方法检查他是否正确,显示Toast“Right”或“Wrong”,然后重新启动活动。然后,他又有两个数字来猜测它的总和,并持续10次。

(我使用Intent重新启动活动):

Intent intent = new Intent (This application.this, This application.class);
startActivity(intent);

在10轮之后,游戏进入下一个活动并显示总结果(我在下一个活动中有一个计数器,每当用户输入正确的总和时它会递增)。现在,该规则规定,如果猜测数字的10秒钟内,即使用户输入正确的数字并单击按钮,答案也应自动归类为错误。这意味着显示“你没有输入任何答案”的吐司,并且下一个活动中的计数器不会增加(之后活动重新开始并且游戏继续正常)。我已将其他所有设置正确,但我不知道如何解决这个问题。如果有人有任何想法,我会非常感激......

1 个答案:

答案 0 :(得分:0)

在倒计时中包含一个boolean标记,可让您检查倒计时是否仍在运行。类似的东西:

boolean CountdownRunning = false;
GameCountDown = new CountDownTimer(10000, 1000) {

public void onTick(long millisUntilFinished) {
    // While the countdown is ticking set flag to true 
    CountdownRunning = true;
}

public void onFinish() {
    // When the countdown finishes set flag back to false 
    CountdownRunning= false;
}
}.start();

然后在你的OnClick方法中,我猜你有一个' if'处理答案是对还是错的陈述。将第二个条件添加到正确的答案语句中,以检查倒计时是否仍在运行。

if(CorrectAnswer && CountdownRunning)

第二个条件应该意味着,如果答案在时间范围内,您的计数器只会递增。