Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从firebase检索数据时为空值_Java_Android_Firebase_Firebase Realtime Database - Fatal编程技术网

Java 从firebase检索数据时为空值

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

我有一个包含多个用户的考勤应用程序,我正在尝试检索一些用户详细信息并将其显示到列表名/姓氏/empId。当执行我的代码时,它检索并显示名字,但不显示其他2个值。调试时,值显示为NULL,我看不到我遗漏了什么。希望一些新鲜的眼睛能有所帮助

非常感谢您的帮助-请在下面用图片编写代码

[//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"
    }
  }
}