Java 从firebase检索数据时为空值
我有一个包含多个用户的考勤应用程序,我正在尝试检索一些用户详细信息并将其显示到列表名/姓氏/empId。当执行我的代码时,它检索并显示名字,但不显示其他2个值。调试时,值显示为NULL,我看不到我遗漏了什么。希望一些新鲜的眼睛能有所帮助 非常感谢您的帮助-请在下面用图片编写代码Java 从firebase检索数据时为空值,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,我有一个包含多个用户的考勤应用程序,我正在尝试检索一些用户详细信息并将其显示到列表名/姓氏/empId。当执行我的代码时,它检索并显示名字,但不显示其他2个值。调试时,值显示为NULL,我看不到我遗漏了什么。希望一些新鲜的眼睛能有所帮助 非常感谢您的帮助-请在下面用图片编写代码 [//Activity code to get data protected void onStart() { super.onStart(); databaseOut.addValueEventLis
[//Activity code to get data
protected void onStart() {
super.onStart();
databaseOut.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
userList.clear();
for (DataSnapshot postSnapshot : dataSnapshot.getChildren()) {
User user = postSnapshot.getValue(User.class);
userList.add(user);
}
zz_List_Users userListAdapter = new zz_List_Users(updateEmployeeDetailsActivity.this, userList);
listViewUsers.setAdapter(userListAdapter);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}][1]
//要检索并添加到列表中的数据的用户列表代码
public class zz_List_Users extends ArrayAdapter<User> {
private Activity context;
List<User> userList;
public zz_List_Users(Activity context, List<User> userList) {
super(context, R.layout.zz_list_user, userList);
this.context = context;
this.userList = userList;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = context.getLayoutInflater();
View listViewItem = inflater.inflate(R.layout.zz_list_user, null, true);
TextView textViewNameU = (TextView) listViewItem.findViewById(R.id.textViewNameU);
TextView textViewSurname = (TextView) listViewItem.findViewById(R.id.textViewSurnameU);
TextView textViewEmpId = (TextView) listViewItem.findViewById(R.id.textViewEmpIdU);
User user = userList.get(position);
textViewSurname.setText(user.getSurname());
textViewEmpId.setText(user.getEmpId());
textViewNameU.setText(user.getName());
return listViewItem;
}
}
非常感谢您的帮助
//Firebase JSON
{
"users" : {
"1mXbSGCzGmbCp7lLXjxjX2kihHI3" : {
"address" : "31 moyola drive shantallow",
"adminUser" : true,
"employeeId" : "902488",
"firstName" : "Sarah",
"password" : "solskjaer",
"postCode" : "bt48 0GE",
"surname" : "Breslin",
"userEmail" : "sarahbreslin81@hotmail.com",
"userId" : "1mXbSGCzGmbCp7lLXjxjX2kihHI3"
},
"O0MYu0YmENgodYSHU0BkMSFQCFj2" : {
"address" : "123 Elaghmore Park",
"adminUser" : true,
"employeeId" : "902499",
"firstName" : "Seamus",
"password" : "solskjaer",
"postCode" : "BT48 8DY",
"surname" : "Ferry",
"userEmail" : "seamyferry@hotmail.co.uk",
"userId" : "O0MYu0YmENgodYSHU0BkMSFQCFj2"
}
}
}
您的字段必须与firebase响应中的字段同名 因此,在
User
类中,将name
更改为firstName
,与您的回答相同。同时empId
至employeeId
其他领域也是如此
因此,使用它来生成您的POJO,以避免此类问题
Android studio中也有一个有用的名称。您的字段必须与firebase响应中的字段同名 因此,在
User
类中,将name
更改为firstName
,与您的回答相同。同时empId
至employeeId
其他领域也是如此
因此,使用它来生成您的POJO,以避免此类问题
Android studio中也有一个有用的字段。用户类中的字段必须与Firebase中的字段相同。firstName和employeeId是ur json响应中的字段。但在用户类中,您提供了name和empid。因此,请将它们替换为firstName和employeeId。用户类中的字段必须与Firebase中的字段具有相同的名称。user类中的字段必须与Firebase中的字段相同。firstName和employeeId是ur json响应中的字段。但在users类中,您提供了name和empid。因此,请将它们替换为firstName和employeeId。user类中的字段必须与Firebase中的字段具有相同的名称。您的代码看起来不错。从Firebase检索的列表是否包含所有用户和这些用户的所有字段都不为空?是的,除了名字和员工id之外,我在那里添加了列表结果的图像。一分钟内只有2个用户。列表视图没有问题。添加你的firebase JSONY你的代码看起来不错。从firebase检索到的列表中是否包含所有用户,这些用户的所有字段都不为空?是的,除了名字和员工id之外,我在那里添加了列表结果的图像。一分钟内只有2个用户。列表视图没有问题。添加您的firebase JSONI只是更改了这些,因为我认为它们是相同的,但仍然不起作用,但我必须在用户类中有大写字母或其他错误。绝对的白痴,谢谢你的帮助Bishoy,gentlemanI只是改变了这些,因为我认为我有相同的,但仍然没有工作,但我必须有一个大写字母或一些错误的用户类。绝对的白痴,谢谢你的帮助,先生
//Firebase JSON
{
"users" : {
"1mXbSGCzGmbCp7lLXjxjX2kihHI3" : {
"address" : "31 moyola drive shantallow",
"adminUser" : true,
"employeeId" : "902488",
"firstName" : "Sarah",
"password" : "solskjaer",
"postCode" : "bt48 0GE",
"surname" : "Breslin",
"userEmail" : "sarahbreslin81@hotmail.com",
"userId" : "1mXbSGCzGmbCp7lLXjxjX2kihHI3"
},
"O0MYu0YmENgodYSHU0BkMSFQCFj2" : {
"address" : "123 Elaghmore Park",
"adminUser" : true,
"employeeId" : "902499",
"firstName" : "Seamus",
"password" : "solskjaer",
"postCode" : "BT48 8DY",
"surname" : "Ferry",
"userEmail" : "seamyferry@hotmail.co.uk",
"userId" : "O0MYu0YmENgodYSHU0BkMSFQCFj2"
}
}
}