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();
                        }
                    });
                }`