目前我的Firebase查询存在问题,该查询未执行onChildAdded
方法。我实现了一个回调来处理Firebase查询的异步性质,因此,在使用sectoresMayorEspera
中包含的数据填充localizacionMayorEspera
方法中的onChildAdded
和dataSnapshot
ArrayLists之后,应使用先前的ArrayLists作为参数执行buscarEspera
方法。
当onChildAdded
方法被“忽略”并且buscarEspera
方法被传递为空ArrayLists时,会出现问题。
public void busquedaEspera(final MiCallbackEspera miCallbackEspera) {
if (cantidadBuses > 1) {
Firebase sectoresMasTiempo = new Firebase("https://brilliant-heat-7882.firebaseio.com/SectoresDatos/").child(String.valueOf(sectorOrigenBus));
sectoresMasTiempo.orderByChild("espera").addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
sectoresMayorEspera.add(dataSnapshot.getKey());
HashMap hashMap = (HashMap) dataSnapshot.getValue();
HashMap localizacionHashMap = (HashMap) hashMap.get("localizacionEspera");
localizacionMayorEspera.add(new LatLng((double) localizacionHashMap.get("latitude"), (double) localizacionHashMap.get("longitude")));
}
@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) {
}
});
miCallbackEspera.buscarEspera(sectoresMayorEspera, localizacionMayorEspera);
}
我是编码的新手(对Android来说很新,对Java来说是新的......)我很感激你帮助解决这个问题。