【发布时间】:2020-07-29 14:22:47
【问题描述】:
我的错误>
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);
}
【问题讨论】:
-
请添加一些细节,让社区帮助您解决问题:添加更多细节,如堆栈跟踪、发生这种情况的条件等......
-
driverLocationRef为 null 或driveHasEndedRef为 null。现在至于为什么它们为空,我们需要更多代码用于第一个代码部分和完整的错误日志。 -
当我搜索驱动程序并且没有在线驱动程序时会发生这种情况,然后当我按下取消按钮时应用程序崩溃