Android 如何在firebase实时数据库中使用值检索根子级的所有子元素
我正在尝试检索所有帖子(根子帖子)数据..使用datasnapshot和Map 但唯一的问题是-一个单一的输入数据是重复的 其他条目未显示..我不知道为什么 我认为这里发生了一些错误 请帮帮我,谢谢 我的代码看起来像-Android 如何在firebase实时数据库中使用值检索根子级的所有子元素,android,Android,我正在尝试检索所有帖子(根子帖子)数据..使用datasnapshot和Map 但唯一的问题是-一个单一的输入数据是重复的 其他条目未显示..我不知道为什么 我认为这里发生了一些错误 请帮帮我,谢谢 我的代码看起来像- mPostDatabase.addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot
mPostDatabase.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot!=null) {
Map<String,Object> all_users_IDs=(HashMap<String,Object>) dataSnapshot.getValue();
//iterate through each user, ignoring their UID
for(Map.Entry<String, Object> entry : all_users_IDs.entrySet()){
//Get single user map
Map singleUser = (Map) entry.getValue();
String date= (String) singleUser.get("Date");
String posted_img= (String) singleUser.get("PostedImage");
String desc= (String) singleUser.get("Description");
holder.setPostedImg(posted_img, getContext());
holder.setDate(date);
holder.setDescription(desc);
}
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
mPostDatabase.addListenerForSingleValueEvent(新值EventListener()){
@凌驾
公共void onDataChange(DataSnapshot DataSnapshot){
if(dataSnapshot!=null){
映射所有用户\u id=(HashMap)dataSnapshot.getValue();
//遍历每个用户,忽略其UID
for(Map.Entry:all_users_id.entrySet()){
//获取单用户映射
Map singleUser=(Map)entry.getValue();
字符串日期=(字符串)singleUser.get(“日期”);
String posted_img=(String)singleUser.get(“PostedImage”);
String desc=(String)singleUser.get(“Description”);
setPostedImg(posted_img,getContext());
持有人。设定日期(日期);
支架.设置说明(描述);
}
}
}
@凌驾
已取消的公共void(DatabaseError DatabaseError){
}
});
试试这个
for (DataSnapshot data : dataSnapshot.getChildren()) {
// code here
}
请考虑增加一些解释。