¿Qué sucede si no existe una URL de Firebase e intentamos agregarle un oyente?
Estoy desarrollando una aplicación en la que le pido al usuario que ingrese el nombre de la ciudad y el estado y que devuelva cierta ubicación en ese lugar. Pero el problema es que si el estado o ciudad especificados no existe en mi Firebase, entonces mi Diálogo de progreso, que se supone que debo descartar cuando el oyente se ha activado, continúa moviéndose y no se activa más la acción.
Aquí está esa parte de mi código:
// estado = obtener del usuario // ciudad = obtener del usuario
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();
}
});
}`