Sobes.tech
Junior — Middle

¿Qué funciones deben ser sobrescritas en la clase Adapter para un funcionamiento correcto con RecyclerView?

sobes.tech AI

Respuesta de la IA

Para que el adaptador funcione correctamente con RecyclerView, es necesario sobrescribir los siguientes métodos:

  1. onCreateViewHolder(ViewGroup parent, int viewType) — crea un nuevo ViewHolder, inicializando el diseño del elemento de la lista.
  2. onBindViewHolder(ViewHolder holder, int position) — vincula los datos con el elemento de la lista, actualizando el contenido del ViewHolder.
  3. getItemCount() — devuelve la cantidad de elementos en el adaptador.

Ejemplo en Kotlin:

class MyAdapter(private val items: List<String>) : RecyclerView.Adapter<MyAdapter.MyViewHolder>() {

    class MyViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
        val textView: TextView = itemView.findViewById(R.id.textView)
    }

    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MyViewHolder {
        val view = LayoutInflater.from(parent.context).inflate(R.layout.item_layout, parent, false)
        return MyViewHolder(view)
    }

    override fun onBindViewHolder(holder: MyViewHolder, position: Int) {
        holder.textView.text = items[position]
    }

    override fun getItemCount(): Int = items.size
}