Junior — Middle
Welche Funktionen müssen in der Adapter-Klasse überschrieben werden, um eine korrekte Arbeit mit RecyclerView zu gewährleisten?
sobes.tech KI
Antwort von AI
Damit der Adapter korrekt mit RecyclerView funktioniert, müssen die folgenden Methoden überschrieben werden:
onCreateViewHolder(ViewGroup parent, int viewType)— erstellt einen neuen ViewHolder und initialisiert das Layout des Listenelements.onBindViewHolder(ViewHolder holder, int position)— verbindet die Daten mit dem Listenelement und aktualisiert den Inhalt des ViewHolders.getItemCount()— gibt die Anzahl der Elemente im Adapter zurück.
Beispiel in 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
}