如果 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);
我想调用 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);