我正在尝试显式启动新 Activity 的 Intent ,但我希望当前 Activity 中的某些代码先完成执行。我做了一些研究,并且有一些想法来实现这一点,但我在想“必须有一种更简单的方法来做到这一点”。这是相关的代码块:
cpuToast(dmg);
if (player_.getStatus() == false)
{
playerWon_ = false;
Intent intent = new Intent(Main.this, Death.class);
startActivity(intent);
}
dmg 是一个整数。 cpuToast 简单地制作一个 String 来显示损坏,然后调用 show()。 getStatus() 返回玩家是否被杀死。如果玩家被杀,我会启动一个新的 Intent ,播放玩家死亡的动画。不幸的是,“死亡” Activity 甚至在 toast 变得可见之前就已经启动,然后它在我不想要的死亡 Activity 期间变得可见。
有谁知道一种简单的方法来确保 Toast 在启动 Death Activity 之前完全执行?从我发现的情况来看,我似乎必须创建一个“Timer”对象,而我真正想要的只是一个简单的 while 循环,如“while(Toast.isVisable) {}”,以将执行绑定(bind)几个秒。
最佳答案
可以在 http://developer.android.com/resources/articles/timed-ui-updates.html 找到一些更新 UI 以响应定时事件的示例代码。 .
关于Android 事件计时(Toasts 和 Intents),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6170546/