Bueno tengo un Json con varios arrays que quiero mostrar en un recyclerView, he pensado en acceder al modelParent desde el adapter, pero no hay manera.
Los Models
Código:
class DetallesModelParent{
var golesLocal: ArrayList<DetLocalModel>? = null
var golesVisitante: ArrayList<DetVisiModel>? = null
}
Código:
class DetLocalModel (
val idJugador: String,
val nombre: String,
val minuto: String
)
Código:
class DetVisiModel(
val idJugador: String,
val nombre: String,
val minuto: String
)
En el activity paso todo al adaptador para desde alli mostrar todo:
Código:
Rv_DetLocal.adapter = DetLocalAdapter(response.body()!!)
Y el adaptador:
Código:
class DetLocalAdapter(val det_partido: DetallesModelParent): RecyclerView.Adapter<DetLocalAdapter.ViewHolder>() {
var listaLocal = ArrayList(det_partido.golesLocal)
var listaVisi = ArrayList(det_partido.golesVisitante)
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
val layoutInflate = LayoutInflater.from(parent.context)
.inflate(R.layout.partido_goles_row, parent, false)
return ViewHolder(layoutInflate)
}
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
val itemDetPart = det_partido[position]
holder.bindItems(itemDetPart)
}
override fun getItemCount(): Int {
return listaLocal.size + listaVisi.size
}
class ViewHolder(itemView: View): RecyclerView.ViewHolder(itemView){
fun bindItems(plantillaModel2: DetallesModelParent){
itemView.tv_JugadorLocal.text = plantillaModel2.golesLocal!!.get(adapterPosition).nombre
itemView.tv_JugadorVisi.text = plantillaModel2.golesVisitante!!.get(adapterPosition).nombre
}
}
}
El Logcat:
[PHP]java.lang.IndexOutOfBoundsException: Index: 3, Size: 3
at java.util.ArrayList.get(ArrayList.java:437)
at com.myapplication.Jornadas.DetPartidos.DetLocalAda pter$ViewHolder.bindItems(DetLocalAdapter.kt:39)
at com.myapplication.Jornadas.DetPartidos.DetLocalAda pter.onBindViewHolder(DetLocalAdapter.kt:29)
at com.myapplication.Jornadas.DetPartidos.DetLocalAda pter.onBindViewHolder(DetLocalAdapter.kt:12)[/PHP]
Hay alguna manera de acceder al las listas por separado?