我試圖使用Thread.sleep()
,但它沒有奏效。當我使用它時,應用程序停止響應。如何以編程方式導致Android延遲?
我需要把一些延誤在我的代碼是這樣的:
public void inicioJogo(){
for (int jogada = 1; jogada <= 50; jogada++) {
for (int contador = 0; contador < jogada; contador++){
// HERE - Wait 1 sec before go to next line.
btPedra[sequencia[contador]].setBackgroundResource(imagensHover[sequencia[contador]]);
// HERE - Wait 1 sec before go to next line.
btPedra[sequencia[contador]].setBackgroundResource(imagensNormal[sequencia[contador]]);
// Now continue looping.
}
}
}
我試圖用處理器,這樣的:等待前
private Handler handler = new Handler();
for (int jogada = 1; jogada <= 50; jogada++) {
for (int contador = 0; contador < jogada; contador++){
handler.postDelayed(new Runnable() {
@Override
public void run() {
btPedra[sequencia[contador]].setBackgroundResource(imagensHover[sequencia[contador]]);
}
}, 1000);
}
}
但是當我使用它時,循環繼續1秒。我需要一個延遲,可以停止循環1秒,轉到下一行,然後繼續循環。
看看這個帖子它會幫助你 http://stackoverflow.com/questions/6704020/give-a-delay-of-few-seconds-without-using-threads] –