如果 Firebase onComplete 花费的时间超过 3 秒,如何启动 ProgressBar

How to start a ProgressBar if Firebase onComplete take longer then 3 sec

我想调用 Firebase,如果需要更多时间,那么可以提前 5 秒 onComplete surface 我想开始 ProgressBar

喜欢这样的东西:

// start some Thread here that will start `Progressbar`if 5 sec   
// passes before`onComplete` surface  

    Ref.updateChildren(childUpdates, new DatabaseReference.CompletionListener() {
        @Override
        public void onComplete(DatabaseError error, DatabaseReference ref) {
         // Turn of `Progressbar`           
        }
    }

我该怎么做

首先在您的 class 上创建一个 运行nable 和一个处理程序:

Handler handler = new Handler();
Runnable runnable = new Runnable() {
    @Override
    public void run() {
        //show progress bar
    }
};

然后在 5 秒后将处理程序设置为 运行:

handler.postDelayed(runnable, 5000);

然后在您的 onComplete 方法上删除回调以避免在方法持续时间少于 5 秒时执行。

handler.removeCallbacks(runnable);