Practical No 4
Practical No 4
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<GridView
android:id="@+id/idGRV"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:horizontalSpacing="6dp"
android:numColumns="2"
android:verticalSpacing="6dp" />
</RelativeLayout>
gridview_item.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_margin="5dp"
app:cardCornerRadius="5dp"
app:cardElevation="5dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<ImageView
android:id="@+id/idIVCourse"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_gravity="center"
android:layout_margin="5dp"
android:padding="4dp"
android:src="@mipmap/ic_launcher" />
<TextView
android:id="@+id/idTVCourse"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_margin="5dp"
android:padding="4dp"
android:text="Hello World"
android:textAlignment="center"
android:textColor="@color/black" />
</LinearLayout>
</androidx.cardview.widget.CardView>
MainActivity.kt
package com.example.gridviewshoppingcart
import android.os.Bundle
import android.widget.AdapterView
import android.widget.GridView
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import java.util.*
import kotlin.collections.ArrayList
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
courseGRV = findViewById(R.id.idGRV)
courseList = ArrayList<GridViewModal>()
courseGRV.adapter = courseAdapter
Toast.makeText(
Toast.LENGTH_SHORT
).show()
GridViewModal.kt
package com.example.gridviewshoppingcart
GridRVAdapter.kt
package com.example.gridviewshoppingcart
import android.content.Context
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.BaseAdapter
import android.widget.ImageView
import android.widget.TextView
):
BaseAdapter() {
// for layout inflater, course image view and course text view.
return courseList.size
return null
return 0
if (layoutInflater == null) {
layoutInflater =
context.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater
if (convertView == null) {
courseIV = convertView!!.findViewById(R.id.idIVCourse)
courseTV = convertView!!.findViewById(R.id.idTVCourse)
// on below line we are setting image for our course image view.
courseIV.setImageResource(courseList.get(position).courseImg)
courseTV.setText(courseList.get(position).courseName)
return convertView
}
OUTPUT