Junior — Middle
Can you explain what a RecyclerView component in Android is and how it works?
sobes.tech AI
Answer from AI
RecyclerView is an Android component for displaying large or dynamic data lists with efficient use of memory and resources. It operates on the principle of recycling list items to avoid creating a new object for each element, reusing already created ones.
Key points of RecyclerView operation:
- Uses an adapter to bind data to interface elements.
- ViewHolder stores references to view elements for faster access.
- When scrolling, off-screen elements are reused for new data.
This significantly improves performance compared to the outdated ListView, especially with large data volumes.
Example of a simple adapter:
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
}