我不确定它是disconect还是DatabaseErrors事件。首先我在Firebase上开始加载数据时有一个对话框显示,然后我想在两种情况下忽略该对话框:
有互联网:加载数据成功,我在onDataChange中忽略对话框。
没有互联网连接或在应用启动时快速关闭wifi。
在第二种情况下,我认为它会调用onCancelled,并且在那种方法中,我将忽略对话框。但实际上,它不是叫取消取消。
那么,我如何在第二种情况下解除对话。这是我的代码
private void getCategory() {
mDatabase = FirebaseDatabase.getInstance().getReference();
mDatabase.child(ReferenceToFirebase.CHILD_CATEGORIES)
.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
//do something
//then dismiss dialog
mDialog.dismiss();
}
@Override
public void onCancelled(DatabaseError databaseError) {
mDialog.dismiss();
}
});
}
答案 0 :(得分:1)
function theCountDown(n) {
window.setTimeout( myLoop(n) , 2000);
}
function myLoop (t) {
var counter = t;
if (counter > 1) {
counter--;
console.log('MAIN: Counter: ' + counter + ' Loop ' + t + ' seconds.');
myLoop(counter);
} else {
console.log('SUB: Counter: ' + counter + ' Loop ' + t + ' seconds.');
}
}
theCountDown(8, 4);
。
如果您没有与Firebase数据库建立连接,您可能希望阻止附加监听器。为此,您可以listen to .info/connected
并且仅在真实时附加侦听器。
onCancelled()