Junior — Middle
Quelles fonctions doivent être redéfinies dans la classe Adapter pour un fonctionnement correct avec RecyclerView?
sobes.tech IA
Réponse de l'IA
Pour que l'adaptateur fonctionne correctement avec RecyclerView, il est nécessaire de redéfinir les méthodes suivantes:
onCreateViewHolder(ViewGroup parent, int viewType)— crée un nouveau ViewHolder, en initialisant la mise en page de l'élément de la liste.onBindViewHolder(ViewHolder holder, int position)— lie les données à l'élément de la liste, en mettant à jour le contenu du ViewHolder.getItemCount()— retourne le nombre d'éléments dans l'adaptateur.
Exemple 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
}