如何使用处理程序定期调用多个方法?

How to call more than one methods at regular interval using handlers?

我知道如何使用 handler 和 runnable 定期调用方法。但是现在我想定期调用不止一种方法。下面是我的 类:

之一的代码
 private Handler handler = new Handler();
 private Runnable runnable = new Runnable() {
        @Override
        public void run() {
            for(int index = 0; index < count; index++) {
                    //Do something based on the index value
            }
            handler.postDelayed(runnable, 500);
        }
    };

在我的代码中的某处,我将使用以下代码开始执行:

handler.postDelayed(runnable, 0);

所以索引0对应的第一个方法将首先被调用,然后是其他方法。然后会有 500 毫秒的延迟来重复相同的操作。

但我还希望方法调用之间有 500 毫秒的延迟。我的意思是执行 for 循环时。我怎样才能只使用一个处理程序和可运行的?如何在方法调用之间引入 500 毫秒的延迟?

我会自己在 Handler 次调用中更新 index 的值,并将其与您的 count 变量进行比较,就像 for 循环

private Handler handler = new Handler();
 private Runnable runnable = new Runnable() { 
    private int index = 0;

    @Override 
    public void run() { 
        //Do something based on the index value 
        index++;
        if (index < count) {
            handler.postDelayed(runnable, 500); 
        } else {
            count = 0;
        }
    } 
}

此外,一开始你不需要零延迟调用postDelayed(),你可以直接调用post()