Solución:
El error señala correctamente dónde está yendo mal
Map<String, String> map = dataSnapshot.getValue(Map.class);
La clase de mapa usa un parámetro para definir los tipos de clave y objeto donde no los das y simplemente usas Map.class
que falla.
Pruebe el siguiente código, ya que las claves siempre son cadenas y podemos tener cualquier tipo de objeto para ellas
Map<String, Object> map = (Map<String, Object>) dataSnapshot.getValue();
Para presentar el GenericTypeIndicator
, puedes cambiar esta línea:
Map<String, String> map = dataSnapshot.getValue(Map.class);
dentro de esto:
GenericTypeIndicator<Map<String, String>> genericTypeIndicator = new GenericTypeIndicator<Map<String, String>>() {};
Map<String, String> map = dataSnapshot.getValue(genericTypeIndicator );
Esto debería funcionar bien en su caso. Por favor, pruébalo y avísame.
Tuve el mismo problema y lo resolví manejando el Objeto en lugar de intentar que Firebase lo lanzara.
Map <String, String> map = (Map)dataSnapshot.getValue();
lo hizo por mí.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)