Сбор данных из разных снимков в FirebaseAdapter

В настоящее время я пытаюсь заполнить представление результатов поиска с помощью Firebase Adapter – мое текущее затруднительное положение состоит в том, что я хочу захватить данные, которые хранятся в разных местах дочерних узлов. Моя текущая структура выглядит следующим образом:

введите описание изображения здесь

Мне хотелось бы получить Pricing , ModelPlane и NameOfListing из BasicInfo , но мне также нужно захватить ImageRef из DetailedInformation Есть ли способ для меня сделать это с FirebaseAdapter или мне нужно реструктурировать данные? адаптер? Я знаю, что FirebaseAdapter будет захватывать всех дочерних ListingData (и что они хранятся в разных моментальных снимках) есть ли способ для доступа к данным со всех моментальных снимков за один раз или нет?

На данный момент вот мой код для адаптера:

 class ListingAdapter(listingData: Class<Listing>, modelLayout: Int, viewHolderClass: Class<ListingHolder>, dbRef: DatabaseReference, val listingID: String, private val mContext: Context) : FirebaseRecyclerAdapter<Listing, ListingHolder>(listingData, modelLayout, viewHolderClass, dbRef) { override fun populateViewHolder(viewHolder: ListingHolder?, model: Listing?, position: Int) { // val mStorageRef: StorageReference = FirebaseStorage.getInstance().reference // mStorageRef.child("Listings/$listingID/ImageRef/${model!!.ImageRef}.png") // GlideApp.with(viewHolder!!.listingImage.context) // .load(mStorageRef) // .into(viewHolder.listingImage) //viewHolder!!.listingPrice.text = model!!.Pricing Glide.with(viewHolder!!.listingImage.context) .load(R.drawable.listing_placeholder) .apply(RequestOptions() .override(360, 260) .centerCrop()) .into(viewHolder.listingImage) viewHolder.listingName.text = "Listing Name" viewHolder.listingModel.text = "Model Plane" viewHolder.listingPrice.text = "\$Price" viewHolder.mView.setOnClickListener { Log.w("ListingAdapter", "RecyclerView:: Within onClick") val listingIntent = Intent(mContext, ListingActivity::class.java) listingIntent.putExtra("listingID", listingID) mContext.startActivity(listingIntent) //Toast.makeText(mContext, "You clicked item at position $position.", Toast.LENGTH_SHORT).show() } } } 

И это модель листинга:

 data class Listing( val ModelPlane: String = "", val AirportCode: String = "", val City: String = "", val State: String = "", val Pricing: String = "", val NameOfListing: String = "") 

На данный момент все жестко закодировано, поэтому проект будет компилироваться.

    Intereting Posts
    В Kotlin Как я могу преобразовать Int? к Int Получить местоположение android Kotlin Ошибка коплинской капсулы Как Lazy Инициализировать с параметром в Kotlin Kotlin: «synchronized» заставляет компилятор не быть уверенным в инициализации переменной Аннотации времени выполнения, аннотированные по поданной в классе kotlin, генерируются неправильно Kotlin getParcelableArray из комплекта намерений не может передать его пользовательскому типу Как инициализировать виджеты в android с помощью kotlin Kotlin smart cast не работает для LinearLayout.LayoutParams Возвращение котлинских кодов Java в Android Studio Canary 5 Внедрение интерфейса анонимно в Kotlin приводит к ошибке «не имеет конструкторов» Kotlin Аннотация: Тип несоответствия: выведенный тип – java.lang.Class <foo>, но java.lang.Class <out jet.Annotation> ожидалось Как настроить Kotlin на Android Studio? Делегация класса в Котлине Отображение данных из базы данных MySQL с помощью студии Android