여기에 문제가 있습니다. "사용자"라는 Firebase 데이터베이스 하위를 "팀"이라고 부르며 "팀"이라고하는 다른 자식이 있으며 FirebaseAdapter를 사용하여 ListView에 표시해야합니다.올바른 시점에 Firebase Data Listener 가져 오기
은 FirebaseAdapter는 다음과 같이이다 : 당신이 볼 수 있듯이
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")
)
, 나는 내가 "idUser"를 사용하여 검색하는 것을하는을 구체적으로 아이 내부의 "팀"을 가지고 싶어. 이 "idUser"는 firebase의 datasnapshot을 사용하여 가져옵니다. 여기에서 앱에 로그온 한 사용자의 ID를 검색합니다. datasnapshot 코드는 다음과 같습니다 : 여기
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) {
}
});
내 문제는 "idUser은"실행중인 얻을 쿼리 전에 FirebaseListAdapter의 코드 부분에 호출되고있다. idUser가 비어 있기 때문에 오류가 발생합니다. 이 문제를 어떻게 해결할 수 있습니까?