Lab Detail


Sno Back Back Subject subject date title note
1 1 Back to subject Mobile Application Development Lab - 20A05706 (Lab) Sept. 14, 2025 ADVANCED USER INTERFACE/predefined GRIDVIEW EXAMPLE

ADVANCED USER INTERFACE/predefined GRIDVIEW EXAMPLE /data from kotlin

using Predfined 

Case 01(using Predfined):

E:\android\MyApplication\app\src\main\res\layout\activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<layout>
    <RelativeLayout
        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">
        <GridView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/grid"
            android:layout_margin="10dp"
            android:numColumns="auto_fit"/>
    </RelativeLayout>
</layout>

E:\android\MyApplication\app\src\main\java\com\example\myapplication\MainActivity.kt

package com.example.myapplication

import android.annotation.SuppressLint
import android.content.Intent
import android.net.Uri
import android.os.Bundle
import android.provider.MediaStore
import android.widget.ArrayAdapter
import android.widget.Toast
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
import androidx.databinding.DataBindingUtil
import com.example.myapplication.databinding.ActivityMainBinding

class MainActivity : AppCompatActivity() {
    var binding: ActivityMainBinding? = null

    var Course = arrayOf(
        "Android", "Java", "CoreJava", "Adv Java",
        "PHP", "Python", "Core Java", "Adv Java", "Android", "Java",
        "CoreJava", "Adv Java", "PHP", "Python", "Core Java", "Adv Java",
        "Android", "Java", "CoreJava", "Adv Java", "PHP", "Python", "Core Java", "Adv Java"
    )


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

        // Enable edge-to-edge content
        enableEdgeToEdge()
        binding = DataBindingUtil.setContentView(this, R.layout.activity_main)

        var gridadaprer= ArrayAdapter(this,android.R.layout.simple_list_item_1, Course)
        binding?.grid?.adapter=gridadaprer

        // Handle item clicks and show both position and value
        binding?.grid?.setOnItemClickListener { parent, view, position, id ->
            val selectedItem = parent.getItemAtPosition(position) as String
            Toast.makeText(this, "Position: $position\nValue: $selectedItem", Toast.LENGTH_LONG).show()
        }


    }
}

 

 

Case 02(User Defined):

E:\android\MyApplication\app\src\main\res\layout\activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<layout>
    <RelativeLayout
        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">
        <GridView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/grid"
            android:layout_margin="10dp"
            android:numColumns="auto_fit"/>
    </RelativeLayout>
</layout>

E:\android\MyApplication\app\src\main\res\layout\custom.xml

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/customTextView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:padding="16dp"
    android:textSize="18sp"
    android:textStyle="bold"
    android:textAllCaps="true"
    android:textColor="#FF5722"
    android:layout_margin="10dp">

</TextView>

E:\android\MyApplication\app\src\main\java\com\example\myapplication\MainActivity.kt

package com.example.myapplication

import android.annotation.SuppressLint
import android.content.Intent
import android.net.Uri
import android.os.Bundle
import android.provider.MediaStore
import android.widget.ArrayAdapter
import android.widget.Toast
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
import androidx.databinding.DataBindingUtil
import com.example.myapplication.databinding.ActivityMainBinding

class MainActivity : AppCompatActivity() {
    var binding: ActivityMainBinding? = null

    var Course = arrayOf(
        "Android", "Java", "CoreJava", "Adv Java",
        "PHP", "Python", "Core Java", "Adv Java", "Android", "Java",
        "CoreJava", "Adv Java", "PHP", "Python", "Core Java", "Adv Java",
        "Android", "Java", "CoreJava", "Adv Java", "PHP", "Python", "Core Java", "Adv Java",
        "CoreJava", "Adv Java", "PHP", "Python", "Core Java", "Adv Java",
        "Android", "Java", "CoreJava", "Adv Java", "PHP", "Python", "Core Java", "Adv Java",
        "CoreJava", "Adv Java", "PHP", "Python", "Core Java", "Adv Java",
        "Android", "Java", "CoreJava", "Adv Java", "PHP", "Python", "Core Java", "Adv Java"

    )


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

        // Enable edge-to-edge content
        enableEdgeToEdge()
        binding = DataBindingUtil.setContentView(this, R.layout.activity_main)

        var gridadaprer= ArrayAdapter(this,R.layout.custom, Course)
        binding?.grid?.adapter=gridadaprer

        // Handle item clicks and show both position and value
        binding?.grid?.setOnItemClickListener { parent, view, position, id ->
            val selectedItem = parent.getItemAtPosition(position) as String
            Toast.makeText(this, "Position: $position\nValue: $selectedItem", Toast.LENGTH_LONG).show()
        }


    }
}