Я пытаюсь перечислить всех пользователей в базе данных без open_chats - user_id: true
, что у меня сейчас есть, говорит мне все пользователи в Log.println, однако он не печатает его вмой recyclerView, который работал, когда у меня был список всех пользователей. В нем должны быть перечислены все пользователи, кроме BlueFoot и vilewolf. Но это только повторяет их в журнале, который я настроил, как показано здесь.
РЕДАКТИРОВАТЬ: Если я удаляю open_chats - User_id: true, только vilewolf появляется в списке.
вот моя база данных:
Вот мой код
private void readUsers() {
final FirebaseUser firebaseUser = FirebaseAuth.getInstance().getCurrentUser();
DatabaseReference dbRef = FirebaseDatabase.getInstance().getReference("users");
dbRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
mUsernames.clear();
for (DataSnapshot snapshot : dataSnapshot.getChildren()) {
final User user = snapshot.getValue(User.class);
DatabaseReference dbRef2 = FirebaseDatabase.getInstance().getReference("users").child(firebaseUser.getUid()).child("open_chats").child(user.getId());
dbRef2.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
mUsernames.clear();
if(dataSnapshot.getValue() == null) {
if(!user.getId().equals(firebaseUser.getUid())) {
mUsernames.add(user);
Log.println(Log.DEBUG, "", "Test- " + user + ", " + user.getUsername());
}
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
userAdapter = new UserAdapter(getContext(), mUsernames);
recyclerView.setAdapter(userAdapter);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}