PDA

Ver la Versión Completa : [ CONSULTA ] Varias listas en adapter


Merche300
11/08/19, 12:26:15
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

class DetallesModelParent{

var golesLocal: ArrayList<DetLocalModel>? = null
var golesVisitante: ArrayList<DetVisiModel>? = null
}

class DetLocalModel (

val idJugador: String,
val nombre: String,
val minuto: String
)

class DetVisiModel(
val idJugador: String,
val nombre: String,
val minuto: String
)

En el activity paso todo al adaptador para desde alli mostrar todo:

Rv_DetLocal.adapter = DetLocalAdapter(response.body()!!)

Y el adaptador:

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(adapterPositi on).nombre

}
}
}

El Logcat:

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)


Hay alguna manera de acceder al las listas por separado?

Merche300
12/08/19, 08:23:37
Hay alguna manera, aunque no sea esa, de hacerlo?.
Necesito varias listas en el mismo recycleview.
Gracias