Sobes.tech
Junior — Middle

Кадом функсияҳоро дар синфи Adapter бояд нависем, то бо RecyclerView дуруст кор кунад?

sobes.tech AI

Ҷавоб аз AI

כדי שהמתאם יעבוד כראוי עם RecyclerView, יש לכתוב מחדש את הפונקציות הבאות:

  1. onCreateViewHolder(ViewGroup parent, int viewType) — יוצר ViewHolder חדש, ומאתחל את תבנית הפריט ברשימה.
  2. onBindViewHolder(ViewHolder holder, int position) — מקשר את הנתונים עם פריט הרשימה, ומעדכן את תוכן ה-ViewHolder.
  3. 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
}