0% found this document useful (0 votes)
6 views2 pages

LabPreppp 2

The document contains XML layout files and Kotlin code for an Android application that implements a ListView. The layout files define the main activity and the individual list items, while the Kotlin code creates a data class for items and populates the ListView with sample data. The ListView displays an image, title, and description for each item using a custom adapter.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views2 pages

LabPreppp 2

The document contains XML layout files and Kotlin code for an Android application that implements a ListView. The layout files define the main activity and the individual list items, while the Kotlin code creates a data class for items and populates the ListView with sample data. The ListView displays an image, title, and description for each item using a custom adapter.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

Ex – 03: List View

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>


<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<ListView
android:id="@+id/listView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

list_item.xml

<?xml version="1.0" encoding="utf-8"?>


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="8dp">

<ImageView
android:id="@+id/imageView"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_marginEnd="8dp"
android:src="@drawable/ic_launcher_foreground" />

<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">

<TextView
android:id="@+id/titleTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Title"
android:textStyle="bold"
android:textSize="16sp" />

<TextView
android:id="@+id/descriptionTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Description"
android:textSize="14sp" />
</LinearLayout>
</LinearLayout>

Item.kt

data class Item(val imageResId: Int, val title: String, val description: String)
MainActivity.kt
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.ArrayAdapter
import android.widget.ImageView
import android.widget.ListView
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity

class MainActivity : AppCompatActivity() {


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

val listView: ListView = findViewById(R.id.listView)

val items = listOf(


Item(R.drawable.ic_launcher_background, "Title 1", "Description 1"),
Item(R.drawable.ic_launcher_background, "Title 2", "Description 2"),
Item(R.drawable.ic_launcher_background, "Title 3", "Description 3")
)

val adapter = object : ArrayAdapter<Item>(this, R.layout.list_item, items) {


override fun getView(position: Int, convertView: View?, parent: ViewGroup):

View {
val view = convertView ?: LayoutInflater.from(context)

.inflate(R.layout.list_item, parent, false)

val item = getItem(position)!!


view.findViewById<ImageView>(R.id.imageView)
.setImageResource(item.imageResId)

view.findViewById<TextView>(R.id.titleTextView).text = item.title

view.findViewById<TextView>(R.id.descriptionTextView)
.text = item.description

return view
}
}

listView.adapter = adapter
}
}

You might also like