[英]How to delay a timer on an activity launch?
我在游戏上实现了一个带有CountDownTimer的简单计时器,当活动开始时,我需要它来启动几秒钟。
在我的主要活动的onCreate方法上,我将其称为:
playingTime();
如下
public void playingTime() {
new CountDownTimer(30000, 1000) {
public void onTick(long millisUntilFinished) {
String elapsedTime = String.valueOf(millisUntilFinished / 1000);
timer.setText(elapsedTime);
}
public void onFinish() {
timer.setText(R.string.timer_game_over_text);
}
}.start();
}
活动启动后,计时器将正常但立即启动。 我想在执行之前设置延迟,或者是否有更好的方法在游戏中设置计时器。 (倒数计时器和正常计时器)
您可以使用Handler添加延迟,如下所示:
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
//Executed after YOUR_DELAY_IN_MILLIS
playingTime()
}
}, YOUR_DELAY_IN_MILLIS);
将代码放入活动的onCreate()方法中
您可以在onCreate()方法中使用处理程序,如下所示,并且playTime将在1秒后调用
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
playingTime();
}
}, 1000);
您可以这样设置延迟:
new Handler().postDelayed(new Runnable(){
@Override
public void run() {
// call method here
}
}, MY_DELAY_IN_MS);
用您自己的延迟替换MY_DELAY_IN_MS
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.