| 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()
}
}
}
|