ChipoDeil
@ChipoDeil
Школьник, пытающийся кодить.

Как заставить участок кода java «поспать» (программирование под android)?

У меня есть кнопка, при нажатии на которую вызывается функция call(), содержимое функции:
Animation anim = null;
        anim = AnimationUtils.loadAnimation(this, R.anim.myanim);
        Button an;
        an = (Button) findViewById(R.id.an);
        an.startAnimation(anim);
        Intent intent = new Intent(this, Main2Activity.class);
        startActivity(intent);

При нажатии на кнопку нужно чтобы анимация проходила до конца(1 секунда), а затем выполнятся переход на другую Activity. Каким образом можно заставить код перехода "поспать", пока анимация не закончится?
  • Вопрос задан
  • 411 просмотров
Решения вопроса 2
@belozerow
В случае с анимацией лучше использовать setAnimationListener.
Ответ написан
gadfi
@gadfi
https://gamega.org
Ярослав Воронцов: все что вы пишите в Activity или Fragment работает в ui потоке, чтобы не было тормазов не рекомендуется выполнять долгие операции в ui потоке (например сетевые запросы из ui потока запрещены ) вызывая Thread.sleep() вы блокируете поток пользовательского интерфейса, чтобы этого не происходила sleep нужно вызывать в другом потоке почитайте developer.android.com/intl/ru/guide/components/pro... (оказыватеся уже перевели )) ) самое простое решение
Handler handler = new Handler();
            handler.postDelayed(new Runnable() {
                public void run() {
                    // start your activity
                }
            }, time);


developer.android.com/intl/ru/reference/android/os..., long)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Konstantin18ko
@Konstantin18ko
Стоматолог
wait(1000)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы