disconectまたはDatabaseErrorsイベントが不安です。最初に私は時にダイアログを表示Firebaseのスタートデータのロードを持って、その後、私は2つの場合には、そのダイアログを閉じたい:負荷データの成功、と私はOnDataChangeのダイアログをdissmiss:Firebaseデータベースへの障害の処理
は、インターネットを持っています。
インターネットに接続していないか、アプリの起動時に無線LANをすばやくオフにします。
2番目のケースでは、私はそれがonCancelledを呼び出すと思うし、その方法では、私はダイアログを閉じます。しかし、実際には、それは無効にする必要はありません。
したがって、どのようにして2番目のケースでダイアログを消すことができますか。ユーザーがデータにアクセスする権限を持っていない場合、サーバーは、通常、リスナーを拒否したときにここに私のコード
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();
}
});
}