Как пропустить ребенка в базе данных Firebase в Android - PullRequest
0 голосов
/ 02 июня 2018

Код

private void fetchResults() {
    mDatabaseReference.child("Users").child(id).child("Quiz").child("Results").addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            for (DataSnapshot resultSnapshot: dataSnapshot.getChildren()) {
                Results result = dataSnapshot.getValue(Results.class);
                resultsList.add(result);
                mAdapter.notifyDataSetChanged();
            }
            mAdapter.notifyDataSetChanged();
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {
            throw databaseError.toException();
        }
    });

У базы данных есть еще один дочерний элемент после РЕЗУЛЬТАТОВ, и это уникальный идентификатор пользователя пользователя ... очевидно, я не знаю, какой пользователь есть, так как мне пропустить этот дочерний элемент для доступа кинформация в нем

База данных Strucutre - https://ibb.co/mL5KFy

1 Ответ

0 голосов
/ 02 июня 2018

Вместо того, чтобы получить результат в Result.class, получите его как карту String и User

private void fetchResults() {
mDatabaseReference.child("Users").child(id).child("Quiz").child("Results").addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        for (DataSnapshot resultSnapshot: dataSnapshot.getChildren()) {
            Map<String, User> map = (Map) dataSnapshot.getValue();
            if (map != null) {
                 for (String id: map.entrySet()) {
                      User user = map.get(id);
                      //DO whatever you wan here

                 }
            }
        }
        mAdapter.notifyDataSetChanged();
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {
        throw databaseError.toException();
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...