Java 如何在android中跳过firebase数据库中的子级

Java 如何在android中跳过firebase数据库中的子级,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,代码 数据库在结果之后还有一个子项,即用户的唯一id。。。显然,我不知道哪个用户是谁,那么我如何跳过这个孩子来访问其中的信息呢 数据库结构-不是在result.class中获取结果,而是将其作为字符串和用户的映射 private void fetchResults() { mDatabaseReference.child("Users").child(id).child("Quiz").child("Results").addValueEventListener(new ValueEve

代码

数据库在结果之后还有一个子项,即用户的唯一id。。。显然,我不知道哪个用户是谁,那么我如何跳过这个孩子来访问其中的信息呢


数据库结构-

不是在result.class中获取结果,而是将其作为字符串和用户的映射

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();
        }
    });
private void fetchResults(){
mDatabaseReference.child(“用户”).child(id).child(“测验”).child(“结果”).addValueEventListener(新的ValueEventListener()){
@凌驾
公共void onDataChange(DataSnapshot DataSnapshot){
对于(DataSnapshot resultSnapshot:DataSnapshot.getChildren()){
Map Map=(Map)dataSnapshot.getValue();
if(map!=null){
对于(字符串id:map.entrySet()){
User=map.get(id);
//你在这儿想干什么就干什么
}
}
}
mAdapter.notifyDataSetChanged();
}
@凌驾
已取消的公共void(DatabaseError DatabaseError){
抛出databaseError.toException();
}
});

您能否共享数据库的结构,并更精确地解释您要获取的确切数据。
结果
节点的子节点?如果是,在
结果
节点下是否有多个这样的子节点?请稍等片刻,然后上传结构查看已编辑的问题您想要哪个p以及结果看起来如何您的代码中有输入错误。在
for
循环中,使用
Results result=childSnapshot.getValue(Results.class);
(注意
childSnapshot
而不是
dataSnapshot
)读取特定子节点/用户节点的数据。
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();
    }
});