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

时间:2017-04-10 20:42:09

标签: android firebase firebase-realtime-database progress-bar

我想打电话给Firebase,如果它需要更多,那么让我们说5秒钟之前 onComplete表面我要开始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`           
        }
    }

我该怎么做

1 个答案:

答案 0 :(得分:1)

首先在你的类上创建一个runnable和一个处理程序:

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);