注销时我的应用程序崩溃了吗?在Logcat中,它显示NullPointerException,空对象引用

时间:2019-03-18 12:20:02

标签: android firebase firebase-realtime-database nullpointerexception google-cloud-firestore

这是分类和喜欢照片计数的类文件代码。我收到空指针异常

    //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)

1 个答案:

答案 0 :(得分:0)

if (!documentSnapshots.isEmpty()){行,您收到错误,应该检查该引用是否为空。

因此您的代码应该是:

if ( documentSnapshots != null && !documentSnapshots.isEmpty()){