提问者:小点点

尝试调用空对象引用应用程序驱动程序上的虚拟方法


我的错误>;

java.lang.NullPointerException:尝试对空对象引用调用虚拟方法“void com.google.firebase.database.DatabaseReference.RemoveEventListener(com.google.firebase.Database.ValueEventListener)”

        driverLocationRef.removeEventListener(driverLocationRefListener);
        driveHasEndedRef.removeEventListener(driveHasEndedRefListener);

我的虚空>;

if (driverFoundID != null) {
            DatabaseReference driverRef = FirebaseDatabase.getInstance().getReference().child("Users").child("Drivers").child(driverFoundID).child("customerRequest");
            driverRef.removeValue();
            driverFoundID = null;

        }


        driverFound = false;
        radius = 1;
        String userId = FirebaseAuth.getInstance().getCurrentUser().getUid();

        DatabaseReference ref = FirebaseDatabase.getInstance().getReference("customerRequest");
        GeoFire geoFire = new GeoFire(ref);
        geoFire.removeLocation(userId);


        if (pickupMarker != null) {
            pickupMarker.remove();
        }
        if (mDriverMarker != null) {
            mDriverMarker.remove();
        }


        mRequest.setText("VOCÊ CANCELOU O CHAMADO, PEÇA NOVAMENTE!");

        mDriverInfo.setVisibility(View.GONE);
        mDriverName.setText("");
        mDriverPhone.setText("");
        mDriverCar.setText("Destination: --");
        mDriverProfileImage.setImageResource(R.mipmap.ic_default_user);
    }

共1个答案

匿名用户

正如@Simone Avogadro所提到的,您需要提供更多的信息以便排除故障。

尽管如此,根据来自logcat的错误消息,

java.lang.NullPointerException: Attempt to invoke virtual method 'void com.google.firebase.database.DatabaseReference.removeEventListener(com.google.firebase.database.ValueEventListener)' on a null object reference

它表示您正在尝试从空对象中删除侦听器,检查您何时在数据库引用上添加了侦听器,确保您的对象引用不是空的。

快乐的编码!