Ich habe ein Problem hier. Ich habe ein Firebase-Datenbank-Kind namens "Benutzer", darin habe ich ein anderes Kind namens "Teams", und ich muss den Inhalt in "Teams" nehmen und sie in einem ListView mit FirebaseAdapter zeigen.Nehmen Sie Firebase Data Listeners im richtigen Moment
Die FirebaseAdapter ist wie folgt:
FirebaseListAdapter<String> firebaseListAdapter = new FirebaseListAdapter<String>(
this,
String.class,
android.R.layout.simple_list_item_1,
//todo Conseguir exibir na lista, as equipes embedadas no usuário logado
mRef.child("users").child(idUser).child("teams")
)
Wie Sie sehen können, ich nehme will die „Teams“ innerhalb eines specifc Kind, dass ich die „idUser“ Suche. Dieser "idUser" wird mithilfe eines Datensnapshot aus der Firebase erstellt, wo ich nach der ID des Benutzers suche, der in der App angemeldet ist. Der datasnapshot Code ist unten:
user = mAuth.getCurrentUser().getEmail().toString();
mRef = FirebaseDatabase.getInstance().getReference();
Query query = mRef.child("usuarios").orderByChild("email").equalTo(user);
query.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot child : dataSnapshot.getChildren()){
idUser = child.getKey().toString();
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
Mein Problem hier ist, die „idUser“ aufgerufen wird im Codeteil des FirebaseListAdapter vor der Abfrage ausgeführt erhalten wird. So bekomme ich einen Fehler, weil der idUser leer ist. Wie kann ich dieses Problem lösen?