Android事件计时(Toast and Intents)

时间:2011-05-29 21:32:08

标签: android android-activity timing toast

我正在尝试显式启动一个新Activity的意图,但我希望当前Activity中的一些代码首先完成执行。我已经做了一些研究,并有一些想法来实现这一目标,但我在想“必须有一个更简单的方法来做到这一点”。以下是相关的代码块:

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

dmg是一个int。 cpuToast只是让String显示损坏,然后调用show()。 getStatus()返回玩家是否被杀死。如果玩家被杀,我会发布一个新的意图,播放玩家死亡的动画。不幸的是,“死亡”活动正在吐司甚至变得可见之前启动,然后它在死亡活动期间变得可见,我不想要。

有没有人知道在启动死亡活动之前确保Toast完全执行的简单方法?从我发现它看起来我将不得不创建一个“Timer”对象,当我真正想要的只是一个简单的while循环,如“while(Toast.isVisable){}”绑定执行几个秒。

3 个答案:

答案 0 :(得分:1)

当您开始祝酒时,您还可以向当前活动发布延迟消息;该延迟消息的runnable可以启动新意图。

答案 1 :(得分:1)

可以在http://developer.android.com/resources/articles/timed-ui-updates.html找到一些用于更新UI以响应定时事件的示例代码。

答案 2 :(得分:0)

它必须是祝酒词吗?

如果您想要使用自定义对话框(删除标题,按钮等),这可能是您最好的选择。在给定时间后使用处理程序关闭对话框并开始新活动。