Junior — Middle
Ce funcții trebuie suprascrise în clasa Adapter pentru funcționarea corectă cu RecyclerView?
sobes.tech AI
Răspuns de la AI
Pentru ca adaptorul să funcționeze corect cu RecyclerView, este necesar să se suprascrie următoarele metode:
onCreateViewHolder(ViewGroup parent, int viewType)— creează un nou ViewHolder, inițializând aspectul elementului listei.onBindViewHolder(ViewHolder holder, int position)— leagă datele de elementul listei, actualizând conținutul ViewHolder.getItemCount()— returnează numărul de elemente din adaptor.
Exemplu în 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
}