图像中显示的键是用户的UID。我试图将这些键存储到arraylist中,并检查currentuser的UID是否不在arraylist中,但是由于println不显示任何内容,结果失败。
final FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
database= FirebaseDatabase.getInstance().getReference().child("Dentist");
database.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot child: dataSnapshot.getChildren())
{
list1.add(child.getKey());
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
for (int i = 0; i < list1.size(); i++) {
System.out.println(list1.get(i));
}
if (!list1.contains(user.getUid())) {
//do something
}
答案 0 :(得分:0)
如前所述,您正在执行异步任务。 您正在检查列表中是否包含您的用户,而此时列表可能为空。
final FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
database= FirebaseDatabase.getInstance().getReference().child("Dentist");
database.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot child: dataSnapshot.getChildren())
{
list1.add(child.getKey());
}
for (int i = 0; i < list1.size(); i++) {
System.out.println(list1.get(i));
}
if (!list1.contains(user.getUid())) {
//do something
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});