特定のメソッドを何度もループするコードがありますが、for ループは 1 回の待機で実行されます。つまり、指定されたコードの場合:
for(int j=3;j>=1; j--)
{
final int k=j;
new Handler().postDelayed(new Runnable(){
@Override
public void run() {
randomMethod(k);
Toast.makeText(someService.this, "works!", Toast.LENGTH_SHORT).show();
}
}, 10000);
}
コードは、必要な 30 秒ではなく、10 秒以内に完全に実行されます。run() を実行した後、 for ループは遅延が終了するのを待つべきではありませんか?
これを修正するにはどうすればよいですか?