java.lang.ClassCastException: java.lang.Boolean нельзя преобразовать в java.util.Map - PullRequest
0 голосов
/ 05 декабря 2018

Я получаю сообщение об ошибке в этой строке: "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) {
        }
    });
}

Как избавиться от этой ошибки ???

Ответы [ 3 ]

0 голосов
/ 05 декабря 2018

Пожалуйста, проверьте этот код

if (dataSnapshot.getValue() != null) {
  String avataStr = (String) dataSnapshot.getValue();
}
0 голосов
/ 05 декабря 2018

Сначала проверьте в своей базе данных firabase, что значение ключа driverId, которое вы пытаетесь получить в своем узле Users / Drivers, не является логическим.

0 голосов
/ 05 декабря 2018

Цитирование из документации Firebase:

getValue () возвращает данные, содержащиеся в этом снимке, как собственные типы.Возможные типы:

Boolean

String

Long

Double

Карта

Список

Этот список рекурсивен;возможные типы для объекта в приведенном выше списке приведены в том же списке.Эти типы соответствуют типам, доступным в JSON.

Значение, возвращаемое из dataSnapshot.getValue(), похоже, равно Boolean , и его определенно нельзя присвоить Map<String, Object>.

Убедитесь, что выиспользуя правильные данные от dataSnapshot

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...