Junior — Middle
Ποιες λειτουργίες πρέπει να υπερισχύσουν στην κλάση Adapter για σωστή λειτουργία με το RecyclerView;
sobes.tech AI
Απάντηση από AI
Για να λειτουργήσει σωστά ο προσαρμογέας με το RecyclerView, πρέπει να υπερισχύσει τις ακόλουθες μεθόδους:
onCreateViewHolder(ViewGroup parent, int viewType)— δημιουργεί ένα νέο ViewHolder, αρχικοποιώντας τη διάταξη του στοιχείου της λίστας.onBindViewHolder(ViewHolder holder, int position)— συνδέει τα δεδομένα με το στοιχείο της λίστας, ενημερώνοντας το περιεχόμενο του ViewHolder.getItemCount()— επιστρέφει τον αριθμό των στοιχείων στον προσαρμογέα.
Παράδειγμα σε 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
}