首页 > 解决方案 > 获取当前用户孩子时出错,firebase

问题描述

这是我的代码

myRef.child("Donors").child(currentFirebaseUser.getUid()).addValueEventListener(new ValueEventListener() {
                @Override
                public void onDataChange(DataSnapshot dataSnapshot) {
                    user = dataSnapshot.getValue(UserInformation.class);
                    String s=user.getUserName();
...

我收到以下错误:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“java.lang.String com.sy.food.UserInformation.getUserName()”。我怎样才能使它工作?

[编辑] 这是我的数据库https://i.stack.imgur.com/fqDYP.png

[已解决] myRef 没有直接引用我的数据库的另一个子数据库,我没有注意这一点。这就是导致 nullPointerException 的原因。

标签: androidfirebasefirebase-realtime-databasegetter

解决方案


似乎您正在跳过一个孩子,因此 Firebase 无法检索以下数据:

        myRef.child("food-d152b").child("Users").child(currentFirebaseUser.getUid()).addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            User user = snapshot.getValue(UserInformation.class);
            String s=user.getUserName();

推荐阅读