繁体   English   中英

如何在活动启动时延迟计时器?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM