1
我是Android应用程序开发的新手。我想在某段时间后调用某种方法,但我无法做到这一点。我试过的方法包括postDelayed方法。Android:如何在特定时间后调用某种方法?
这是我要执行的代码后,2000毫秒
private void computersTurn() {
rollButton.setEnabled(false);
holdButton.setEnabled(false);
while (currentTurn=='C' && cTurn<=20 && cTotal<=100) {
rollDice();//TO BE EXECUTED AFTER INTERVALS
}
hold();
rollButton.setEnabled(true);
holdButton.setEnabled(true);
}
为整个活动的代码可以在这里找到:http://pastebin.com/bzkfydpL
@lulian谢谢,但用户界面冻结与此方法。 –
这是您的问题的可接受答案。它确实在给定的延迟后执行代码。您的UI冻结的原因是因为您在computersTurn()期间尝试在主/ UI线程上执行的工作。您需要将该代码执行的位置移至新线程。如果你想更新任何UI元素,你当然必须返回到主线程。 Android指南:http://developer.android.com/training/multiple-threads/communicate-ui.html – JoeyG
是的,你应该使用AsyncTask在不同的线程中完成它,并且不要阻塞UI。 – V01D1