Je vais avoir un problème ici. Je un enfant Firebase de base de données appelée « utilisateurs », à l'intérieur, j'ai d'autres enfants appelé « équipes », et je dois prendre le contenu à l'intérieur des « équipes » et leur montrer dans un ListView avec FirebaseAdapter.Prendre Firebase données Listeners au bon moment
Le FirebaseAdapter est comme ceci:
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")
)
Comme vous pouvez le voir, je veux prendre les « équipes » à l'intérieur d'un enfant specifc, que je recherche en utilisant les « idUser ». Ce « idUser » est prise en utilisant un datasnapshot du firebase, où je recherche l'ID de l'utilisateur connecté sur l'application. Le code datasnapshot est ci-dessous:
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) {
}
});
Mon problème ici est le « idUser » est appelé dans la partie du code de la FirebaseListAdapter avant que la requête en cours d'exécution se. J'ai donc une erreur, car l'idUser est vide. Comment puis-je résoudre ce problème?