Firestore Friendlist не показывает правильный путь - PullRequest
0 голосов
/ 26 марта 2020

Я сейчас пытаюсь создать список друзей в Firestore. Мой код написан, но не правильно. Поэтому в моей базе данных есть список друзей, который выглядит следующим образом: Databse pi c

Таким образом, документ сохраняется под моим идентификатором, который сохраняет другие идентификаторы от пользователей, которые приняли запрос на добавление в друзья.

Итак, прямо сейчас в приложении это выглядит так: новая фотография базы данных

Это показывает, что у меня есть 3 друга, что правильно, и когда я нажимаю на одного из них из профилей это показывает мне мой друг правый путь.

Вот как это должно выглядеть: здесь

Мой важный код выглядит вот так:

   mFirestore.collection("users").document(usid).collection("friends").addSnapshotListener(new EventListener<QuerySnapshot>() {
        @Override
        public void onEvent(@Nullable QuerySnapshot queryDocumentSnapshots, @Nullable FirebaseFirestoreException e) {

            if (e != null) {

            }
            for(DocumentChange doc : queryDocumentSnapshots.getDocumentChanges()) {
                if (doc.getType() == DocumentChange.Type.ADDED){

                    String user_id = doc.getDocument().getId();
                    //Toast.makeText(yourFriends.this, fAuth.getUid(), Toast.LENGTH_SHORT).show();
                    System.out.println(user_id);
                    System.out.println(fAuth.getUid());
                    if (fAuth.getUid().equals(user_id)){

                        Map map = doc.getDocument().getData();
                        System.out.println(map.size());
                        //Toast.makeText(yourFriends.this, map.size(), Toast.LENGTH_SHORT).show();


                        for(Object friendid : map.values()){

                            friendid.toString();


                            Users users = doc.getDocument().toObject(Users.class).withId((String)friendid);
                            //Toast.makeText(yourFriends.this, (String)friendid, Toast.LENGTH_SHORT).show();
                            usersList.add(users);
                        }
                    }
                    usersListAdapter.notifyDataSetChanged();

                }
            }
        }
    });

Итак, я получаю свой список друзей но он не загружает информацию в моем списке пользователей.

1 Ответ

0 голосов
/ 26 марта 2020

Ваша структура базы данных неверна. Вы должны запустить еще одну коллекцию под пользователем, в которой вам нужно сохранить документ mnet, а под ним - данные о друзьях. После этого отправьте эту коллекцию в Listview или Recyclerview. Он придет.

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