【发布时间】:2018-09-29 13:47:39
【问题描述】:
我正在开发一个应用程序,并且在数据库中有医生和患者等用户。患者数据中可能有医生userId,医生数据中可能有患者userId。因为在应用程序医生会看到一些关于他/她的病人的信息。我开发了这段代码,但在设置适配器之前我无法将患者信息添加到 Arraylists。这是我的代码:
myRef.child("users")
.child(firebaseUser.getUid()).child("patients").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for(DataSnapshot ds: dataSnapshot.getChildren()){
AddingPatients addingpatient = ds.getValue(AddingPatients.class);
if(addingpatient.getConfirm().equals("yes")){
myref.child("users").child(addingpatient.getUserId()).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot.exists()) {
Users patient = dataSnapshot.getValue(Users.class);
name.add(patient.getName()+" "+patient.getSurname());
sicks.add(patient.getSicks());
patientuid.add(patient.getUserId());
}
}
@Override
public void onCancelled(DatabaseError error) {
}
});
}
}
PatientSelectionAdapter adapter= new PatientSelectionAdapter(getContext(),name,sicks,hastauid);
rv.setAdapter(adapter);
rv.setLayoutManager(new LinearLayoutManager(getContext()));
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
当我调试代码时,我看到,患者信息在设置适配器后添加到列表中。所以我的RecyclerView 是空的。我该如何解决这个问题?
【问题讨论】:
标签: java android firebase firebase-realtime-database android-recyclerview