Junior — Middle
რომელი ფუნქციები უნდა დავწეროთ מחדש Adapter კლასში, რათა ის სწორად იმუშაოს RecyclerView-თან?
sobes.tech AI
პასუხი AI-სგან
რათა რომ ადაპტერი სწორად იმუშაოს RecyclerView-თან, საჭიროა შემდეგი მეთოდების გადაწერა:
onCreateViewHolder(ViewGroup parent, int viewType)— ქმნის ახალ ViewHolder-ს, ინიციალიზირებს სიის ელემენტის განლაგებას.onBindViewHolder(ViewHolder holder, int position)— აკავშირებს მონაცემებს სიის ელემენტთან, განაახლებს ViewHolder-ის შიგთავსს.getItemCount()— აბრუნებს ელემენტების რაოდენობას ადაპტერში.
კოტლინში მაგალითი:
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
}