Junior — Middle
Kokias funkcijas reikia perrašyti Adapter klasėje, kad ji tinkamai veiktų su RecyclerView?
sobes.tech AI
Atsakymas iš AI
Kad adapteris tinkamai veiktų su RecyclerView, būtina perrašyti šiuos metodus:
onCreateViewHolder(ViewGroup parent, int viewType)— sukuria naują ViewHolder ir inicijuoja sąrašo elemento išdėstymą.onBindViewHolder(ViewHolder holder, int position)— susieja duomenis su sąrašo elementu ir atnaujina ViewHolder turinį.getItemCount()— grąžina elementų skaičių adapteriuje.
Pavyzdys Kotlin kalba:
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
}