Время события Android (тосты и намерения) - PullRequest
1 голос
/ 30 мая 2011

Я пытаюсь явно запустить намерение для нового действия, но я хотел бы, чтобы какой-то код в текущем действии завершил выполнение первым. Я провел небольшое исследование, и у меня есть пара идей для достижения этой цели, но я думаю, что "должен быть более простой способ сделать это". Вот соответствующий блок кода:

        cpuToast(dmg);
        if (player_.getStatus() == false)
        {
            playerWon_ = false;
            Intent intent = new Intent(Main.this, Death.class);
            startActivity(intent);
        }

дмг является инт. cpuToast просто создает String для отображения урона, а затем вызывает show (). getStatus () возвращает, был ли игрок убит или нет. В случае, если игрок был убит, я запускаю новое намерение, которое будет воспроизводить анимацию смерти игрока. К сожалению, «Смертельная» активность запускается еще до того, как тост становится видимой, а затем она становится видимой во время «Смертельной активности», которую я не хочу.

Кто-нибудь знает простой способ обеспечить полное выполнение Toast перед запуском Death Activity? Из того, что я обнаружил, похоже, мне придется создать объект «Таймер», когда на самом деле все, что я хочу, - это простой цикл while типа «while (Toast.isVisable) {}», чтобы связать выполнение для пары секунд.

Ответы [ 3 ]

1 голос
/ 30 мая 2011

Во время начала тоста вы также можете опубликовать отложенное сообщение для вашей текущей активности;выполнение этого отложенного сообщения может начать новое намерение.

1 голос
/ 30 мая 2011

Пример кода для обновления пользовательского интерфейса в ответ на синхронизированные события можно найти по адресу http://developer.android.com/resources/articles/timed-ui-updates.html.

0 голосов
/ 30 мая 2011

Это должен быть тост?

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

...