Как отложить таймер на запуск активности? - PullRequest
0 голосов
/ 25 января 2019

Я реализовал простой таймер с 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();

}

Таймер запускается нормально, но сразу после запуска действия.Я хотел бы установить задержку перед ее выполнением или, если есть лучший способ установить таймер в играх.(Таймер обратного отсчета и обычный таймер)

Ответы [ 3 ]

0 голосов
/ 25 января 2019

Вы можете установить задержку следующим образом:

       new Handler().postDelayed(new Runnable(){
          @Override
          public void run() {
            // call method here
          }
      }, MY_DELAY_IN_MS);

Замените MY_DELAY_IN_MS вашей собственной задержкой

0 голосов
/ 25 января 2019

Вы можете использовать обработчик в методе onCreate () , как показано ниже, и playingTime будет вызываться через 1 секунду

 new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                playingTime();
            }
        }, 1000);
0 голосов
/ 25 января 2019

Вы можете добавить задержку, используя обработчик, как показано ниже:

Handler handler = new Handler();
handler.postDelayed(new Runnable() {
  @Override
  public void run() {
    //Executed after YOUR_DELAY_IN_MILLIS
    playingTime()
  }
}, YOUR_DELAY_IN_MILLIS);

Поместите код в свой метод onCreate ()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...