Java 计时器未在Android上等待

Java 计时器未在Android上等待,java,android,multithreading,timer,Java,Android,Multithreading,Timer,我设置了一个计时器,在循环中每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, th

我设置了一个计时器,在循环中每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
  }
}
doSomething(){
成功时的公共无效(int[]arr){

对于(int i=0;i.换句话说,我的问题是,在循环中不可能执行延迟的任务吗?如果是,原因是什么?

试试这个倒计时计时器,谢谢!但它似乎不起作用:计时器在for循环开始时只运行一次,因此整个循环在10秒后开始,在每个后续任务中都没有延迟。唯一的问题是hat在执行Thread.sleep(10000)时似乎按预期工作,这会使主线程在循环内的每次迭代中休眠10秒。您需要将思维切换到基于事件的模型。不要尝试“暂停”如果你有很多事情需要在中间暂停的情况下完成,你必须建立一种“待办事项列表”,让你的事件方法在每次运行时向前推进一步,保存状态信息(即,下一步要做什么)坚持不懈地等待下一次执行。