组合两个模型类类型Firebase Android的数组

组合两个模型类类型Firebase Android的数组,android,arrays,firebase,android-recyclerview,Android,Arrays,Firebase,Android Recyclerview,嗨,我正试图通过从firebase中的两个不同节点获取数据来填充recycler视图。然而,我得到两个单独的清单。。。每个节点中有一个节点。我想把它们结合起来,作为一个单独的项目展示。如果需要查看更多文件,我的原始问题将发布在此处: 我的片段如下 // Firebase fbDatabaseRootNode = FirebaseDatabase.getInstance().getReference(); fbDatabaseRefGroupList = fbDatabaseRootNode.ch

嗨,我正试图通过从firebase中的两个不同节点获取数据来填充recycler视图。然而,我得到两个单独的清单。。。每个节点中有一个节点。我想把它们结合起来,作为一个单独的项目展示。如果需要查看更多文件,我的原始问题将发布在此处:

我的片段如下

// Firebase
fbDatabaseRootNode = FirebaseDatabase.getInstance().getReference();
fbDatabaseRefGroupList = fbDatabaseRootNode.child("groups_list").child(current_user_id);
fbDatabaseRefGroups = fbDatabaseRootNode.child("groups");

fbDatabaseRefGroupList.addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

        // Array to Get Group List
        lGroupsList = new ArrayList<>();

        if (dataSnapshot.exists()) {

            // Clear Array to Get Group List
            lGroupsList.clear();

            for (DataSnapshot glSnapshot : dataSnapshot.getChildren()) {

                // Use The Model To Format Array List and Pass It Into It
                GroupsListModel g = glSnapshot.getValue(GroupsListModel.class);

                // Array to Get Group List
                lGroupsList.add(g);

                // Get The Group ID To Get Data From Other Nodes
                String groupID = String.valueOf(glSnapshot.getKey());

                fbDatabaseRefGroups.child(groupID).addValueEventListener(new ValueEventListener() {
                    @Override
                    public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

                        // Array to Get Group List
                        lGroupsList2 = new ArrayList<>();

                        if (dataSnapshot.exists()) {

                            // Clear Array to Get Group List
                            lGroupsList2.clear();

//                                    String groupName = (String) dataSnapshot.child("group_name").getValue();
//                                    String groupTagLine = (String) dataSnapshot.child("group_tagline").getValue();
//                                    String groupMemberCount = (String) dataSnapshot.child("group_member_count").getValue();

                            // Use The Model To Format Array List and Pass It Into It
                            GroupsListModel g = dataSnapshot.getValue(GroupsListModel.class);

                            // Array to Get Group List
                            lGroupsList2.add(g);

                            // Joining The Arrays To Get One Array
                            lGroupsList.addAll(lGroupsList2);

                        }

                    }

                    @Override
                    public void onCancelled(@NonNull DatabaseError databaseError) {

                    }
                });

            }

        }

        aGroupList = new GroupsListAdapter(getContext(), lGroupsList);
        rvGroupList.setAdapter(aGroupList);

    }

    @Override
    public void onCancelled(@NonNull DatabaseError databaseError) {
        System.out.println("The read failed: " + databaseError.getCode());

    }
});
// Joining The Arrays To Get One Array
lGroupsList.addAll(lGroupsList2);