在我的游戏中,我给5秒钟回答每个问题。如果用户选择了正确答案,那么我向他/她显示下一个问题。如果用户无法回答问题,则将级别设置为第一个问题(每个问题都是一个级别)。
如何在我的代码中加入计时器?
答案 0 :(得分:0)
Timer timer;
TimerTask timertask;
timer = new Timer();
timertask = new TimerTask() {
@Override
public void run() {
runOnUiThread(new Runnable() {
@Override
public void run() {
// add your code here that will run after 5 seconds.
}
});
}
};
timer.schedule(timertask, 5000);
使用计时器任务来安排执行。更多信息请点击Timer Task和Timer
答案 1 :(得分:0)
CountDownTimer myCountDown = new CountDownTimer(30000, 1000) {
public void onTick(long millisUntilFinished) {
mTextField.setText("seconds remaining: " + millisUntilFinished / 1000);
}
public void onFinish() {
mTextField.setText("done!");
}
}.start();
您可以使用这些回调来处理滴答和计时器的结束。
第一个参数确定计时器的持续时间。
CountDownTimer的第二个参数确定一个刻度的持续时间直到结束。
修改强>
如果您需要在5秒钟结束前停止计时器,您可以在启动倒计时之前存储当前时间:
final long timeBeforeLaunchCountDown = System.currentTimeMillis();
因此,当发生点击(用户回答您的问题)时,您可以将新的当前时间与之前的时间进行比较并停止countDown:
if((System.currentTimeMillis() - timeBeforeLaunchCountDown) > 5000){
myCountDown.cancel();
}