Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

606
Visualizações
Cómo recuperar datos de una matriz anidada de mapas en Firestore (Kotlin) para RecyclerView

Me gustaría pedir ayuda sobre cómo recuperar datos de Firestore para una matriz de mapas anidada llamada "ciudades" en MutableList, que luego quiero insertar en la vista del reciclador, donde los datos de las "regiones" son para el encabezado y los datos. "ciudades" para los elementos regulares de la lista.

Datos para regiones: MutableList, cuando sigo el procedimiento https://medium.com/firebase-tips-tricks/how-to-map-an-array-of-objects-from-cloud-firestore-to-a-list -of-objects-122e579eae10 por Alex Mamo, funcionó bien, pero los datos para: cities: MutableList , según el mismo enfoque, son nulos (no se pueden recuperar).

¿Puede aconsejarme cómo obtener datos para "ciudades"?

PD: en algún lugar leí la recomendación de iterar sobre "ciudades", pero no tengo idea de cómo, vaya directamente a un ejemplo (idealmente en Kontlin).

Código:

 override fun onViewCreated(view: View, savedInstanceState: Bundle?) { ….. regionsRef.get().addOnCompleteListener { document -> if (document.isSuccessful()) { val documentSnapshot = document.result // Retrieve array of maps for „regions“ val regions = documentSnapshot.toObject(RegionDocument::class.java)?.regions // Retrieve array of maps for „cities“ val cities = documentSnapshot.toObject(CityDocument::class.java)?.cities … } }

Clases de datos para el objeto Ciudad:

 data class City( val cityNumber: Long? = null, val cityName: String? = "" ) data class CityDocument( var cities: MutableList<City>? = null)

Estructura de la tienda de fuego:

ejemplo de estructura de datos en Firestore

ciudades resaltadas - matriz de mapa

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Para poder obtener los datos que corresponden a la estructura de su documento, necesita tres clases:

 class Document { var regions: MutableList<Region>? = null } class Region { var cities: MutableList<City>? = null var regionName: String? = null var regionNumber: Long? = null } class City { var cityName: String? = null var cityNumber: Long? = null }

Y a continuación puede encontrar una solución para leer todas las ciudades:

 val db = FirebaseFirestore.getInstance() val docIdRef = db.collection("collName").document("docId") docIdRef.get().addOnCompleteListener { task -> if (task.isSuccessful) { val document = task.result if (document != null) { val doc = document.toObject(Document::class.java) if (doc != null) { val regions = doc.regions if (regions != null) { for (region in regions) { val cities = region.cities //Do what you need to to do with your List<City>. } } } } } else { Log.d("TAG", task.exception!!.message!!) //Never ignore potential errors! } }

Ahora, simplemente reemplace collName y docId con el que tiene en su base de datos.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda