我设置了一个计时器,在循环中每10秒执行一次任务。此外,这是在broadcastReceiver内,而不是MainActivity。
doSomething() {
public void onSuccess(int[] arr) {
for (int i = 0; i<arr.length(); i++) {
<wait 10 seconds>
<show some message>
} // if i == 3, the loop should take 30 seconds to perform
}
}
我尝试创建一个新线程并制作一个计时器,但两个解决方案都没有等待一个循环内的任务十秒钟。我还尝试在不创建新线程的情况下执行Thread.sleep(10000)
,但这会使主UI在执行每个任务之前冻结十秒钟。有人能引导我走向正确的方向吗?
修改:这可能与this重复。换句话说,我的问题是,在循环中不可能执行延迟任务吗?如果是这样,为什么?