Я использую FirestoreRecyclerView для отображения моих данных в CardViews. До сих пор это было гладко, пока мне не пришлось использовать map s:
Customers [Collection]
Customer 1 [Document]
status: "VIP" [Field]
name: "Rudolf Heinrich" [Field]
breakfast [Map]
meal: "Eggs Benedict" [String]
coffee: true [Boolean]
guest: 2 [Int]
lunch [Map]
meal: "Tuna" [String]
coffee: false [Boolean]
guest: 2 [Int]
dinner [Map]
meal: "Zucchini Chicken Alfredo" [String]
coffee: false [Boolean]
guest: 2 [Int]
Мой обычный Класс модели выглядит следующим образом, но я не знать, как использовать map s, как показано выше в классах данных:
@Keep
@Parcelize
class CustomerModel (
var status: String,
var name: String,
var breakfast: Map??
) : Parcelable
... и как извлечь данные Map в onBindViewHolder ?
override fun onBindViewHolder(
holder: CustomerViewHolder,
position: Int,
model: CustomerModel
) {
holder.status.text = model.status
holder.name.text = model.name
holder.meal.text = model.breakfast.meal // is this correct?
holder.coffee.text = model.breakfast.coffee // is this correct?
holder.guest.text = model.breakfast.guest // is this correct?
Дополнительный вопрос:
Что, если для класса Model требуется два map s с тем же полем?
@Keep
@Parcelize
class CustomerModel (
var status: String,
var name: String,
var breakfast: Map
var lunch: Map
var dinner: Map
Мне нужен только один (1) класс карты?