Was passiert, wenn eine Firebase-URL nicht existiert und wir versuchen, einen Listener hinzuzufügen?
Ich entwickle eine Anwendung, in der ich den Benutzer auffordere, den Namen der Stadt und des Staates einzugeben und einen bestimmten Ort an diesem Ort zurückzugeben. Das Problem ist jedoch, dass, wenn das angegebene Bundesland oder die angegebene Stadt in meiner Firebase nicht vorhanden ist, der Fortschrittsdialog, den ich schließen soll, wenn der Listener ausgelöst hat, in Bewegung bleibt und keine weitere Aktion ausgelöst wird.
Hier ist der Teil meines Codes:
// state = vom Benutzer abrufen // city = vom Benutzer abrufen
mapProgress.show();<p></p>
<p>firebase.child("markers").child(state).child(city).addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(final DataSnapshot dataSnapshot, String s) {
mapProgress.dismiss();</p>
if (dataSnapshot.exists()) {
//do something
}
else
Toast.makeText(MainActivity.this, "No data found!", Toast.LENGTH_SHORT).show();
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {
}
@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onCancelled(FirebaseError firebaseError) {
mapProgress.dismiss();
Toast.makeText(MainActivity.this, "Cancelled.", Toast.LENGTH_SHORT).show();
}
});
}`