Android RecyclerView Kotlin Example

06-Dec-2024

Android RecyclerView Kotlin Example


1/Step :  Create A New Project and activity_main.xml


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="16dp">

<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>



2/Step :  Create A New Layout Item.xml


<?xml version="1.0" encoding="utf-8"?>
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="16dp"
android:textSize="16sp"
android:textColor="@android:color/black" />




3/Step :   Create A New Class SimpleAdapter



package com.example.recyclerviewsimple

import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView

class SimpleAdapter(private val data: List<String>) : RecyclerView.Adapter<SimpleAdapter.ViewHolder>() {


class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
val textView: TextView = itemView as TextView
}

override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {

val view = LayoutInflater.from(parent.context).inflate(android.R.layout.simple_list_item_1, parent, false)
return ViewHolder(view)
}

override fun onBindViewHolder(holder: ViewHolder, position: Int) {

holder.textView.text = data[position]
}

override fun getItemCount(): Int = data.size
}



4/Step :  MainActivity add the code


package com.example.recyclerviewsimple

import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.alomkaisa.myapplication.R

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)

val recyclerView: RecyclerView = findViewById(R.id.recyclerView)


recyclerView.layoutManager = LinearLayoutManager(this)

val data = listOf("Item 1", "Item 2", "Item 3", "Item 4", "Item 5")

recyclerView.adapter = SimpleAdapter(data)
}
}



Comments