Tam je JSON odpověď:
{
"response" : [
{
"f_name" : "иВан",
"l_name" : "ИваноВ",
"birthday" : "1987-03-23",
"specialty" : [{
"specialty_id" : 101,
"name" : "Менеджер"
}]
},
{
"f_name" : "Петр",
"l_name" : "петроВ",
"birthday" : null,
"specialty" : [{
"specialty_id" : 101,
"name" : "Менеджер"
}]
}
]
}
a odpovídající třídy dat v modelu:
data class EmployeesInfo( val response: List<Response> )
data class Response(
@SerializedName("avatr_url")
val avatrUrl: String,
val birthday: String,
@SerializedName("f_name")
val fName: String,
@SerializedName("l_name")
val lName: String,
val specialty: List<Specialty>
)
data class Specialty(
val name: String,
@SerializedName("specialty_id")
val specialtyId: Int
)
Ty. ukázalo se, že EmployeesInfo třídy je seznam typ Reakce.A v konstruktoru třídy Reakce je speciální pole, které, soudě podle hranatých závorkách, je také (v seznamu je 1. prvek je specialty_id, 2. je jméno). A já prostě muset vytvořit seznam těchto jmen ze všech objektů, Reakce, pole a dát jim k adaptéru tak, že jsou zobrazeny v RecyclerView ..Jak to mohu udělat? Možná budu muset použít mapy funkce ?
specialty.flatMap { listOf(it.name) }
sspecialty.map { it.name }
. To bude asi větší smysl.