android - 无法从 firebase 检索数据(java.lang.NullPointerException:尝试调用虚拟方法 'java.lang.String)
问题描述
当我尝试检索用户图片时出现此异常(也当我尝试获取用户名或有关用户的任何信息时)。
java.lang.NullPointerException:尝试在 com.example.signup.adapter.PostAdapter$1.onDataChange( PostAdapter.java:70) 在 com.google.firebase.database.core.ValueEventRegistration.fireEvent(ValueEventRegistration.java:75) 在 com.google.firebase.database.core.view.DataEvent.fire(DataEvent.java:63)在 com.google.firebase.database.core.view.EventRaiser$1.run(EventRaiser.java:55) 在 android.os.Handler.handleCallback(Handler.java:751) 在 android.os.Handler.dispatchMessage(Handler. java:95) 在 android.os.Looper.loop(Looper.java:154) 在 android.app.ActivityThread.main(ActivityThread.java:6682) 在 java.lang.reflect.Method.invoke(Native Method) 在 com .android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1520) 在 com。android.internal.os.ZygoteInit.main(ZygoteInit.java:1410)
我的代码:
FirebaseDatabase.getInstance().getReference().child("Users").child(post.getPublisher()).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
User user = dataSnapshot.getValue(User.class);
if (user.getProfile_pic().equals("default")) {
holder.imageProfile.setImageResource(R.mipmap.ic_launcher);
} else {
Picasso.get().load(user.getProfile_pic()).placeholder(R.mipmap.ic_launcher).into(holder.imageProfile);
}
holder.username.setText(user.getUsername());
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
解决方案
您的查询与您的数据不匹配。您的数据位于名为“users”的子项中,但您的查询要求另一个名为“Users”且大写为 U 的子项。大小写必须完全匹配。
推荐阅读
- asp.net-core - 找不到“Microsoft.AspNet.WebApi.Client”包
- typescript - ts 用吸气剂缩小
- reactjs - react中的内联css和html标签给出错误
- powerbi - 滚动 12m 测量 - Power BI DAX
- karate - 如何在空手道的 JSON 文件中传递参数
- laravel - Laravel nova - 按删除按钮不出现确认模式
- python - ImportError: 无法从 'robot.libdocpkg.htmlwriter' 导入名称 'DocToHtml' (C:\Python37\lib\site-packages\robot\libdocpkg\htmlwriter.py)
- wso2 - WSO2 IS 5.11 - 无法在 Apple 设备上使用 FIDO 身份验证
- java - 如何从对象访问元素?爪哇
- apache-kafka - Kafka - 无法建立与节点 -1 (localhost/127.0.0.1:2181) 的连接。经纪人可能不可用