这是分类和喜欢照片计数的类文件代码。我收到空指针异常
//likes counter
firebaseFirestore.collection("Posts/" + blogPostId + "/Likes").addSnapshotListener(new EventListener<QuerySnapshot>() {
@Override
public void onEvent(QuerySnapshot documentSnapshots, FirebaseFirestoreException e) {
if (!documentSnapshots.isEmpty()){
int count = documentSnapshots.size();
holder.updateLikesCount(count);
}else{
holder.updateLikesCount(0);
}
}
});
这是Logcat详细信息:
Process: com.example.suraj.photoblog, PID: 24823
java.lang.NullPointerException: Attempt to invoke virtual method 'boolean com.google.firebase.firestore.QuerySnapshot.isEmpty()' on a null object reference
at com.example.suraj.photoblog.BlogRecyclerAdapter$1.onEvent(BlogRecyclerAdapter.java:107)
at com.example.suraj.photoblog.BlogRecyclerAdapter$1.onEvent(BlogRecyclerAdapter.java:103)
at com.google.firebase.firestore.zzi.onEvent(Unknown Source)
at com.google.android.gms.internal.zzevc.zza(Unknown Source)
at com.google.android.gms.internal.zzevd.run(Unknown Source)
at android.os.Handler.handleCallback(Handler.java:742)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:157)
at android.app.ActivityThread.main(ActivityThread.java:5601)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:774)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:652)
答案 0 :(得分:0)
在if (!documentSnapshots.isEmpty()){
行,您收到错误,应该检查该引用是否为空。
因此您的代码应该是:
if ( documentSnapshots != null && !documentSnapshots.isEmpty()){