从Firebase返回2个JSON值,但其中一个总是无效的?为什么



我不是一个经验丰富的Android应用程序开发人员,这是我的第一个应用程序,这是我的问题。我通过从AddListListenerForsingLevalueEvent调用DataSnapShot来获取" Company_name"的价值,而不是将值放入收件人的JSON区域(我还将Manager的ID" Manager_ID"存储在收件人的JSON区域中),到目前为止,还可以。现在的问题是从收件人区域读取" company_name"的值,以使用firebaseui在列表中填充它,对于某些拉森,我无法弄清楚为什么``manager_ID''为字符串,而" company_name"为null。这是代码:获取" company_name"的值:

mManagersCompany.addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(com.google.firebase.database.DataSnapshot dataSnapshot) {
            companyName = dataSnapshot.getValue(String.class);
        }
        @Override
        public void onCancelled(DatabaseError databaseError) {
        }
    });

将其存储在收件人的区域中:

Map<String, Object> info = new HashMap<>();
info.put("company_name", companyName);
info.put("manager_id", manager_id);
mListOfManagers.push().updateChildren(info);

对象:

public class CompanyItem {
private String company_name;
private String manager_id;
public CompanyItem(){}
public CompanyItem(String company_name, String manager_id){
    this.company_name = company_name;
    this.manager_id = manager_id;
}
public String getCompanyName() {
    return company_name;
}
public void setCompanyName(String companyName) {
    this.company_name = companyName;
}
public String getManager_id() {
    return manager_id;
}
public void setManager_id(String manager_id_entering) {
    this.manager_id = manager_id_entering;
}

}

与firebaseui的populateViewholder检索" anagant"one_answers" company_name":

@Override
                protected void populateViewHolder(CompanyViewHolder viewHolder, CompanyItem model, int position) {
                    viewHolder.hText.setText(model.getCompanyName());
                    viewHolder.mText.setText(model.getManager_id());
                }

这是Firebase数据库中收件人的JSON的一部分:

{  "-KYVoYBRD4UEBL6GYKD_" : 
    {
    "company_name" : "Dude Company",
    "manager_id" : "a1b2c3d4"
    }
}

为什么它返回" Manager_ID"的" A1B2C3D4",而是为" Company_name"返回?我尝试了很多不同的事情,但我没有成功,我通过Stackoverflow搜索一个答案,但找不到与我的问题接近的答案。谁能帮忙?

根据我的评论

更改company_name的固定器/getter匹配管理员的格式 -

例如

getCompanyName() to getCompany_name()

相关内容

  • 没有找到相关文章

最新更新