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