从 firebase 查询中模型 class returning null(查询结果不 return null)

Model class returning null from firebase query (query result does not return null)

Firebase 查询 returns 此查询的值

Query query = databaseReference.child("users").orderByChild("display_name").equalTo(s.toString());

{nfxQ14lxSIZ0qgTGllZ297b0nTv2={display_name=Friends, token= token_value}}

商品被模特抓到class

        query.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot snapshot) {
            UserInfo userInfo = snapshot.getValue(UserInfo.class);
            userInfo.getDisplay_name()
        }

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

        }
    });

然而,returns null

型号class

public class UserInfo {

@SerializedName("display_name")
private String display_name;
@SerializedName("token")
private String token;

public UserInfo() {}

public String getDisplay_name() {return display_name;}

public void setDisplay_name(String display_name) { this.display_name = display_name;}

public String getToken() {return token;}

public void setToken(String token) {this.token = token;}
}

数据库结构如下

我遵循这个问题的逻辑

然而,一旦查询结果被转换,我仍然得到一个空结果

我认为问题在于,当我请求密钥时,我得到的是用户,而不是 uid 或 display_name

下一级

这里的解决方法很简单

ValueEventListener 应该是 ChildEventListener

这样 snapshot.getKey() returns 子值,因此可以使用

访问下键
String text = (String) snapshot.getChild("some_lower_key").getValue();
String diffOption = snapshot.getValue(Model.class);

但主要是在使用 Firebase 查询时使用 ChildEventListener