Есть ли в Android какая-либо функция, которую можно использовать, чтобы действие ожидало некоторое время и продолжало работать?

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

Заранее спасибо.

0
xtiger 19 Сен 2014 в 17:21

2 ответа

Лучший ответ

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

new Handler().postDelayed(new Runnable() {

        @Override
        public void run() {

            // This method will be executed once the timer is over
            // Do your code here

        }
    }, 3000);

Здесь 1000 = 1 секунда

Но перед запуском этого кода убедитесь, что вы не находитесь в ЗАПИСИ ФОНОВОГО ПРОЦЕССА ... иначе это может вызвать ошибку ..

4
Pragnesh Ghoda シ 19 Сен 2014 в 13:33

Сделайте это в стиле Android:

Handler mHandler = new Handler();
mHandler.postDelayed(runnableHandler, 3000);

private Runnable runnableHandler = new Runnable() {
      @Override
    public void run() {
    doSomething()
  }
};

private void doSomething() {
  // Before do something remove all callbacks from Handler
  mHandler.removeCallbacks(runnableHandler);

  andFinallyDoWhatYouNeed();
}
1
Ciro Rizzo 19 Сен 2014 в 13:29