Firebase список всех пользователей без детей в базе данных - PullRequest
0 голосов
/ 03 октября 2019

Я пытаюсь перечислить всех пользователей в базе данных без open_chats - user_id: true

, что у меня сейчас есть, говорит мне все пользователи в Log.println, однако он не печатает его вмой recyclerView, который работал, когда у меня был список всех пользователей. В нем должны быть перечислены все пользователи, кроме BlueFoot и vilewolf. Но это только повторяет их в журнале, который я настроил, как показано здесь.

РЕДАКТИРОВАТЬ: Если я удаляю open_chats - User_id: true, только vilewolf появляется в списке.

Log Shhowing users

вот моя база данных:

Database image

Вот мой код

    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) {

        }
    });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...