【发布时间】:2015-06-11 05:16:02
【问题描述】:
我尝试使用Thread.sleep(),但没有成功。当我使用它时,应用程序停止响应。
我需要像这样在我的代码中添加一些延迟:
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.
}
}
}
我试过用Handler,像这样:
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 秒的延迟,然后转到下一行,然后继续循环。
【问题讨论】:
-
看看这篇文章对你有帮助stackoverflow.com/questions/6704020/…
标签: java android timertask android-handler java-threads