Junior — Middle
Hogyan felel a RecyclerView a listázási elemek megjelenítéséért a képernyőn?
sobes.tech MI
Válasz az MI-től
A RecyclerView felelős a listaelemek megjelenítéséért a következő kulcsfontosságú komponensek segítségével:
- LayoutManager — meghatározza, hogyan helyezkednek el pontosan az elemek a képernyőn (lineárisan, rácsban stb.).
- Adapter — adatokat szolgáltat és létrehozza a ViewHolder-t minden elemhez.
- ViewHolder — tárolja az elemek View hivatkozásait az újrafelhasználáshoz.
A görgetés során a RecyclerView újrahasznosítja a ViewHolder-t, hogy ne kelljen minden elemhez új objektumokat létrehozni, ez jelentősen növeli a teljesítményt és csökkenti a memória terhelést.
Egyszerű Adapter példája:
class MyAdapter(private val items: List<String>) : RecyclerView.Adapter<MyAdapter.ViewHolder>() {
class ViewHolder(val textView: TextView) : RecyclerView.ViewHolder(textView)
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
val textView = LayoutInflater.from(parent.context)
.inflate(android.R.layout.simple_list_item_1, parent, false) as TextView
return ViewHolder(textView)
}
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
holder.textView.text = items[position]
}
override fun getItemCount() = items.size
}