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