Я получаю сообщение об ошибке в этой строке: «Map map = (Map) dataSnapshot.getValue ();»
private void getAssignedCustomer(){
String driverId = FirebaseAuth.getInstance().getCurrentUser().getUid();
DatabaseReference assignedCustomerRef = FirebaseDatabase.getInstance().getReference().child("Users").child("Drivers").child(driverId);
assignedCustomerRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot.exists()){
Map<String, Object> map = (Map<String, Object>) dataSnapshot.getValue();
if (map.get("customerRideId") != null){
customerId = map.get("customerRideId").toString();
getAssignedCustomerPickupLocation();
}
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
Как избавиться от этой ошибки ???
где мне это достать? import com.google.firebase.database.DataSnapshot;




Цитата из документации Firebase:
getValue() returns the data contained in this snapshot as native types. The possible types returned are:
Boolean
String
Long
Double
Map
List
This list is recursive; the possible types for Object in the above list is given by the same list. These types correspond to the types available in JSON.
Значение, возвращаемое из dataSnapshot.getValue(), похоже, Логический, и его нельзя точно присвоить Map<String, Object>.
Убедитесь, что вы используете правильные данные из dataSnapshot.
Пожалуйста, проверьте этот код
if (dataSnapshot.getValue() != null) {
String avataStr = (String) dataSnapshot.getValue();
}
Сначала проверьте в своей базе данных firebase, что значение для ключевого driverS, которое вы пытаетесь получить в узле Users / Drivers, не является логическим.
Поделиться кодом класса "DataSnapshot".