Android RecyclerView in Kotlin - Building Lists

Displaying lists of data in Android apps is a common requirement. The RecyclerView is a powerful widget for efficiently displaying large lists in Android. In this guide, we'll explore how to use the RecyclerView in Kotlin to build and display lists of items.

Adding the RecyclerView to Your Layout

The first step is to add the RecyclerView to your layout XML file. Here's an example of how to do it:

android:layout_height="match_parent" />

This code adds a RecyclerView widget to your layout, specifying its ID and dimensions.

Creating the List Item Layout

Next, you need to create the layout for each item in the list. This is a separate XML layout file. For example:

<!-- res/layout/list_item.xml -->
android:textSize="18sp" />

In this example, we create a layout for each list item containing a TextView to display text.

Creating the Adapter

The RecyclerView needs an adapter to bind the data to the views. You can create a custom adapter that extends `RecyclerView.Adapter`. Here's an example:

class MyAdapter(private val data: List<String>) : RecyclerView.Adapter<MyAdapter.ViewHolder>() {
class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
val textView: TextView = itemView.findViewById(
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
val view = LayoutInflater.from(parent.context).inflate(R.layout.list_item, parent, false)
return ViewHolder(view)
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
holder.textView.text = data[position]
override fun getItemCount(): Int {
return data.size

This adapter binds the data (a list of strings) to the list item layout.

Initializing the RecyclerView

In your activity or fragment, initialize the RecyclerView and set the adapter:

val recyclerView = findViewById<RecyclerView>(
recyclerView.layoutManager = LinearLayoutManager(this)
val data = listOf("Item 1", "Item 2", "Item 3") // Replace with your data
val adapter = MyAdapter(data)
recyclerView.adapter = adapter

This code initializes the RecyclerView, sets a layout manager (in this case, a LinearLayoutManager), and assigns your custom adapter to it.


The RecyclerView is a versatile tool for displaying lists in Android apps. Whether you're building a to-do list, a social feed, or any other type of list-based UI, the RecyclerView in Kotlin simplifies the process of efficiently displaying data.

Happy coding!