SlideShare a Scribd company logo
ວິທະຍາໄລສອນພິທັກລາວ ອຈ ພອນປະເສີດ ຜົນດາລາ
1
ພາກປະຕິບັດ 10
ສະແດງຮູບໃນ GridView
1. ສ້າງ Project ໃໝ່ GridView Food
2. ຂຽນໂຄດໃນ activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<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:id="@+id/gvFoods"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:columnWidth="150dp"
android:horizontalSpacing="15dp"
android:numColumns="auto_fit"
android:verticalSpacing="15dp">
</GridView>
</RelativeLayout>
3. ນາຮູບອາຫານມາກ ັບໄວ້ທີ່ Drawable
4. ສ້າງ food_entry.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:background="#DAF7A6"
android:orientation="vertical"
android:gravity="center"
android:padding="15dp">
<ImageView
android:id="@+id/imgFood"
android:layout_width="150dp"
android:layout_height="120dp"
android:src="@drawable/papaya_salad" />
<TextView
android:id="@+id/tvName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
ວິທະຍາໄລສອນພິທັກລາວ ອຈ ພອນປະເສີດ ຜົນດາລາ
2
android:text="ຕຳຫຼວງພະບຳງ"
android:textSize="16dp"
android:textColor="#154360"/>
<TextView
android:id="@+id/tvPrice"
android:gravity="center"
android:text="ລຳຄຳ 15,000 ກີບ/ຈຳນ"
android:textSize="12dp"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
5. ສ້າງ Food.kt
package com.example.phonhdala.grideviewfood
class Food {
var name: String?=null
var price: String?=null
var image: Int?=null
constructor(name: String,price:String,image: Int){
this.name=name
this.price=price
this.image=image
}
}
6. ເພີ່ ມ Empty Activity ໃໝ່ໂດຍຕັ້ງຊ່ເປັນ FoodDetials
7. ຂຽນໂຄດໃນ activity_food_detials.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
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"
android:gravity="center_horizontal"
android:orientation="vertical"
tools:context=".FoodDetials">
<ImageView
android:id="@+id/imgFoodDetials"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_marginTop="30dp"
android:src="@drawable/papaya_salad"/>
<TextView
ວິທະຍາໄລສອນພິທັກລາວ ອຈ ພອນປະເສີດ ຜົນດາລາ
3
android:id="@+id/tvNameDetial"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="0dp"
android:text="ຕຳຫຼວງພະບຳງ"
android:textColor="@color/colorPrimary"
android:textSize="24sp"/>
<TextView
android:id="@+id/tvPriceDetial"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="15,000 ກີບ/ຈຳນ"
android:textSize="16dp"/>
</LinearLayout>
8. ຂຽນໂຄດໃນ MainActivity.kt
class MainActivity : AppCompatActivity() {
var adapter:FoodAdapter?=null
var foodsList=ArrayList<Food>()
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// Load foods
foodsList.add(Food("ຕຳຫຼວງພະບຳງ","15,000 ກີບ/
ຈຳນ",R.drawable.papaya_salad))
foodsList.add(Food("ແກງໜໍ່","35,000 ກີບ/
ຖ້ວຍ",R.drawable.bamboo_soup))
foodsList.add(Food("ແກງເຫັດ","35,000 ກີບ/
ຖ້ວຍ",R.drawable.mushroom_soup))
foodsList.add(Food("ໄຄແຜໍ່ນ","20,000 ກີບ/
ຈຳນ",R.drawable.kaipan))
foodsList.add(Food("ແຈໍ່ວປຳແດກ","25,000 ກີບ/
ຈຳນ",R.drawable.jeopadage))
foodsList.add(Food("ທອດປີກໄກໍ່","20,000 ກີບ/
ຈຳນ",R.drawable.chicken_wing))
foodsList.add(Food("ແໜມເຂ້ຳ","25,000 ກີບ/
ຈຳນ",R.drawable.nam_rice))
foodsList.add(Food("ປ້ງໄກໍ່ທຳປຳແດກ","30,000 ກີບ/
ຈຳນ",R.drawable.chicken_padeak))
foodsList.add(Food("ໄກໍ່ຕ້ມ","35,000 ກີບ/
ຈຳນ",R.drawable.chicken_tome))
foodsList.add(Food("ເຄໍ່ອງໃນງວລວກ","35,000 ກີບ/
ວິທະຍາໄລສອນພິທັກລາວ ອຈ ພອນປະເສີດ ຜົນດາລາ
4
ຈຳນ",R.drawable.luaokeungnay))
adapter=FoodAdapter(this,foodsList)
gvFoods.adapter=adapter
}
class FoodAdapter:BaseAdapter{
var myfoodsList=ArrayList<Food>()
var context:Context?=null
constructor(context: Context,foodsList:
ArrayList<Food>):super(){
this.context=context
this.myfoodsList=foodsList
}
override fun getCount(): Int {
return myfoodsList.size
}
override fun getItem(p0: Int): Any {
return myfoodsList[p0]
}
override fun getItemId(p0: Int): Long {
return p0.toLong()
}
override fun getView(position: Int, convertView: View?,
parent: ViewGroup?): View {
val food=this.myfoodsList[position]
val inflater=context!!.getSystemService(Context
.LAYOUT_INFLATER_SERVICE) as LayoutInflater
var foodView=inflater.inflate(R
.layout.food_entry,null)
foodView.imgFood.setOnClickListener {
val intent=Intent(context
,FoodDetials::class.java)
intent.putExtra("name",food.name!!)
intent.putExtra("price",food.price!!)
intent.putExtra("image",food.image)
context!!.startActivity(intent)
}
foodView.imgFood.setImageResource(food.image!!)
foodView.tvName.text=food.name!!
foodView.tvPrice.text=food.price!!
return foodView
}
}
}
ວິທະຍາໄລສອນພິທັກລາວ ອຈ ພອນປະເສີດ ຜົນດາລາ
5
9. ຂຽນໂຄດໃນ FoodDetials.kt
class FoodDetials : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_food_detials)
val bundle=intent.extras
imgFoodDetials.setImageResource(bundle.getInt("image"))
tvNameDetial.text=bundle.getString("name")
tvPriceDetial.text=bundle.getString("price")
supportActionBar!!.setDisplayHomeAsUpEnabled(true)
}
override fun onOptionsItemSelected(item: MenuItem): Boolean {
if (item.itemId==android.R.id.home){
onBackPressed()
}
return super.onOptionsItemSelected(item)
}
override fun onBackPressed() {
super.onBackPressed()
}
}
ວິທະຍາໄລສອນພິທັກລາວ ອຈ ພອນປະເສີດ ຜົນດາລາ
6
ເມ່ອທົດສອບ Run ຈະໄດ້ດັ່ງນີ້
====================

More Related Content

What's hot

Actividad 03
Actividad 03Actividad 03
Actividad 03
Jose AC
 
Practica 5
Practica 5Practica 5
Practica 5
Erick Ramirez
 
Pract 7
Pract 7Pract 7
Aula 10 04 (Gerenciadores de layouts)
Aula 10 04 (Gerenciadores de layouts)Aula 10 04 (Gerenciadores de layouts)
Aula 10 04 (Gerenciadores de layouts)
Ricardo Longa
 
Pract 8
Pract 8Pract 8
Kode program layout xml dan tampilan ui graphical (menggunakan eclipse)
Kode program layout xml dan tampilan ui graphical (menggunakan eclipse)Kode program layout xml dan tampilan ui graphical (menggunakan eclipse)
Kode program layout xml dan tampilan ui graphical (menggunakan eclipse)
Melina Krisnawati
 
Portafolio 2do parcial
Portafolio 2do parcialPortafolio 2do parcial
Portafolio 2do parcial
Jose Alejandro Santiago Pintado
 
Codificacion1
Codificacion1Codificacion1
Codificacion1
ariannalizeeth
 
Practica 3
Practica 3Practica 3
Practica 3
Erick Ramirez
 
Portafolio2
Portafolio2Portafolio2
Portafolio2
Miroslava Montalvo
 
Penambahan menu atau tampilan
Penambahan menu atau tampilanPenambahan menu atau tampilan
Penambahan menu atau tampilan
iswan_di
 
Quick tips for android
Quick tips for androidQuick tips for android
Quick tips for android
Daniel Baccin
 
Programa6
Programa6Programa6
Programa6
josuedelangel
 
La vista video view
La vista video viewLa vista video view
La vista video view
Yanori Perez
 
Blog 8
Blog 8Blog 8
Blog 8
iswan_di
 
Javascript & Angular .js for the enterprise, lessons learned, typescript scal...
Javascript & Angular .js for the enterprise, lessons learned, typescript scal...Javascript & Angular .js for the enterprise, lessons learned, typescript scal...
Javascript & Angular .js for the enterprise, lessons learned, typescript scal...
David Amend
 
Pemrograman mobile b tugas 1_1404505042
Pemrograman mobile b tugas 1_1404505042Pemrograman mobile b tugas 1_1404505042
Pemrograman mobile b tugas 1_1404505042
Chatarina Indah Kristina Dewi
 

What's hot (17)

Actividad 03
Actividad 03Actividad 03
Actividad 03
 
Practica 5
Practica 5Practica 5
Practica 5
 
Pract 7
Pract 7Pract 7
Pract 7
 
Aula 10 04 (Gerenciadores de layouts)
Aula 10 04 (Gerenciadores de layouts)Aula 10 04 (Gerenciadores de layouts)
Aula 10 04 (Gerenciadores de layouts)
 
Pract 8
Pract 8Pract 8
Pract 8
 
Kode program layout xml dan tampilan ui graphical (menggunakan eclipse)
Kode program layout xml dan tampilan ui graphical (menggunakan eclipse)Kode program layout xml dan tampilan ui graphical (menggunakan eclipse)
Kode program layout xml dan tampilan ui graphical (menggunakan eclipse)
 
Portafolio 2do parcial
Portafolio 2do parcialPortafolio 2do parcial
Portafolio 2do parcial
 
Codificacion1
Codificacion1Codificacion1
Codificacion1
 
Practica 3
Practica 3Practica 3
Practica 3
 
Portafolio2
Portafolio2Portafolio2
Portafolio2
 
Penambahan menu atau tampilan
Penambahan menu atau tampilanPenambahan menu atau tampilan
Penambahan menu atau tampilan
 
Quick tips for android
Quick tips for androidQuick tips for android
Quick tips for android
 
Programa6
Programa6Programa6
Programa6
 
La vista video view
La vista video viewLa vista video view
La vista video view
 
Blog 8
Blog 8Blog 8
Blog 8
 
Javascript & Angular .js for the enterprise, lessons learned, typescript scal...
Javascript & Angular .js for the enterprise, lessons learned, typescript scal...Javascript & Angular .js for the enterprise, lessons learned, typescript scal...
Javascript & Angular .js for the enterprise, lessons learned, typescript scal...
 
Pemrograman mobile b tugas 1_1404505042
Pemrograman mobile b tugas 1_1404505042Pemrograman mobile b tugas 1_1404505042
Pemrograman mobile b tugas 1_1404505042
 

More from Phonepaseuth Phonhdala

Lab 16 ອອກແບບໜ້າຈໍສຳເລັບ chat
Lab 16 ອອກແບບໜ້າຈໍສຳເລັບ chatLab 16 ອອກແບບໜ້າຈໍສຳເລັບ chat
Lab 16 ອອກແບບໜ້າຈໍສຳເລັບ chat
Phonepaseuth Phonhdala
 
Lab 15 ການດຶງຂໍ້ມູນຈາກ Firebase ມາສະແດງໃນໜ້າແອ໋ບ
Lab 15 ການດຶງຂໍ້ມູນຈາກ Firebase ມາສະແດງໃນໜ້າແອ໋ບLab 15 ການດຶງຂໍ້ມູນຈາກ Firebase ມາສະແດງໃນໜ້າແອ໋ບ
Lab 15 ການດຶງຂໍ້ມູນຈາກ Firebase ມາສະແດງໃນໜ້າແອ໋ບ
Phonepaseuth Phonhdala
 
Lab 14 Storage ແລະ Database ໃນ Firebase
Lab 14 Storage ແລະ Database ໃນ FirebaseLab 14 Storage ແລະ Database ໃນ Firebase
Lab 14 Storage ແລະ Database ໃນ Firebase
Phonepaseuth Phonhdala
 
Lab 13 ການລົບມູນແຫຼມ EditText, Button ແລະການເລືອກຮູບ
Lab 13 ການລົບມູນແຫຼມ EditText, Button ແລະການເລືອກຮູບLab 13 ການລົບມູນແຫຼມ EditText, Button ແລະການເລືອກຮູບ
Lab 13 ການລົບມູນແຫຼມ EditText, Button ແລະການເລືອກຮູບ
Phonepaseuth Phonhdala
 
Lab 12 Firebase Authentication
Lab 12 Firebase AuthenticationLab 12 Firebase Authentication
Lab 12 Firebase Authentication
Phonepaseuth Phonhdala
 
Lab 11 qr and bar code
Lab 11 qr and bar codeLab 11 qr and bar code
Lab 11 qr and bar code
Phonepaseuth Phonhdala
 
Lab 9 list view
Lab 9 list viewLab 9 list view
Lab 9 list view
Phonepaseuth Phonhdala
 
Lab 3 date picker dialog
Lab 3 date picker dialogLab 3 date picker dialog
Lab 3 date picker dialog
Phonepaseuth Phonhdala
 
Lab 2 time picker dialog
Lab 2 time picker dialogLab 2 time picker dialog
Lab 2 time picker dialog
Phonepaseuth Phonhdala
 
ການເພີ່ມ, ແກ້ໄຂ, ລຶບ ຂໍ້ມູນ
ການເພີ່ມ, ແກ້ໄຂ, ລຶບ ຂໍ້ມູນການເພີ່ມ, ແກ້ໄຂ, ລຶບ ຂໍ້ມູນ
ການເພີ່ມ, ແກ້ໄຂ, ລຶບ ຂໍ້ມູນ
Phonepaseuth Phonhdala
 
ການກະກຽມຂໍ້ມູນ (Prepare data)
ການກະກຽມຂໍ້ມູນ (Prepare data)ການກະກຽມຂໍ້ມູນ (Prepare data)
ການກະກຽມຂໍ້ມູນ (Prepare data)
Phonepaseuth Phonhdala
 
ພາກປະຕິບັດ 9 (Lab 9) ຈັດການຖານຂໍ້ມູນ
ພາກປະຕິບັດ 9 (Lab 9) ຈັດການຖານຂໍ້ມູນ ພາກປະຕິບັດ 9 (Lab 9) ຈັດການຖານຂໍ້ມູນ
ພາກປະຕິບັດ 9 (Lab 9) ຈັດການຖານຂໍ້ມູນ
Phonepaseuth Phonhdala
 
ພາກປະຕິບັດ 8 (Lab 8)
ພາກປະຕິບັດ 8 (Lab 8)ພາກປະຕິບັດ 8 (Lab 8)
ພາກປະຕິບັດ 8 (Lab 8)
Phonepaseuth Phonhdala
 
ພາກປະຕິບັດ 7 (Lab 7)
ພາກປະຕິບັດ 7 (Lab 7)ພາກປະຕິບັດ 7 (Lab 7)
ພາກປະຕິບັດ 7 (Lab 7)
Phonepaseuth Phonhdala
 
ພາກປະຕິບັດ 6 (Lab 6) ການໃຊ້ CheckBox
ພາກປະຕິບັດ 6 (Lab 6) ການໃຊ້ CheckBoxພາກປະຕິບັດ 6 (Lab 6) ການໃຊ້ CheckBox
ພາກປະຕິບັດ 6 (Lab 6) ການໃຊ້ CheckBox
Phonepaseuth Phonhdala
 
ພາກປະຕິບັດ 5 (Lab 5) ການນຳໃຊ້ RadioButton
ພາກປະຕິບັດ 5 (Lab 5) ການນຳໃຊ້ RadioButtonພາກປະຕິບັດ 5 (Lab 5) ການນຳໃຊ້ RadioButton
ພາກປະຕິບັດ 5 (Lab 5) ການນຳໃຊ້ RadioButton
Phonepaseuth Phonhdala
 
Chapter2
Chapter2Chapter2
Chapter1
Chapter1Chapter1
ພາກປະຕິບັດ 4 (Lab 4) ການເປິດActivity ໃໝ່
ພາກປະຕິບັດ 4 (Lab 4) ການເປິດActivity ໃໝ່ພາກປະຕິບັດ 4 (Lab 4) ການເປິດActivity ໃໝ່
ພາກປະຕິບັດ 4 (Lab 4) ການເປິດActivity ໃໝ່
Phonepaseuth Phonhdala
 
ຕິດຕັ້ງ Tomcat (xampp) ໃນ eclipse
ຕິດຕັ້ງ Tomcat (xampp) ໃນ eclipseຕິດຕັ້ງ Tomcat (xampp) ໃນ eclipse
ຕິດຕັ້ງ Tomcat (xampp) ໃນ eclipse
Phonepaseuth Phonhdala
 

More from Phonepaseuth Phonhdala (20)

Lab 16 ອອກແບບໜ້າຈໍສຳເລັບ chat
Lab 16 ອອກແບບໜ້າຈໍສຳເລັບ chatLab 16 ອອກແບບໜ້າຈໍສຳເລັບ chat
Lab 16 ອອກແບບໜ້າຈໍສຳເລັບ chat
 
Lab 15 ການດຶງຂໍ້ມູນຈາກ Firebase ມາສະແດງໃນໜ້າແອ໋ບ
Lab 15 ການດຶງຂໍ້ມູນຈາກ Firebase ມາສະແດງໃນໜ້າແອ໋ບLab 15 ການດຶງຂໍ້ມູນຈາກ Firebase ມາສະແດງໃນໜ້າແອ໋ບ
Lab 15 ການດຶງຂໍ້ມູນຈາກ Firebase ມາສະແດງໃນໜ້າແອ໋ບ
 
Lab 14 Storage ແລະ Database ໃນ Firebase
Lab 14 Storage ແລະ Database ໃນ FirebaseLab 14 Storage ແລະ Database ໃນ Firebase
Lab 14 Storage ແລະ Database ໃນ Firebase
 
Lab 13 ການລົບມູນແຫຼມ EditText, Button ແລະການເລືອກຮູບ
Lab 13 ການລົບມູນແຫຼມ EditText, Button ແລະການເລືອກຮູບLab 13 ການລົບມູນແຫຼມ EditText, Button ແລະການເລືອກຮູບ
Lab 13 ການລົບມູນແຫຼມ EditText, Button ແລະການເລືອກຮູບ
 
Lab 12 Firebase Authentication
Lab 12 Firebase AuthenticationLab 12 Firebase Authentication
Lab 12 Firebase Authentication
 
Lab 11 qr and bar code
Lab 11 qr and bar codeLab 11 qr and bar code
Lab 11 qr and bar code
 
Lab 9 list view
Lab 9 list viewLab 9 list view
Lab 9 list view
 
Lab 3 date picker dialog
Lab 3 date picker dialogLab 3 date picker dialog
Lab 3 date picker dialog
 
Lab 2 time picker dialog
Lab 2 time picker dialogLab 2 time picker dialog
Lab 2 time picker dialog
 
ການເພີ່ມ, ແກ້ໄຂ, ລຶບ ຂໍ້ມູນ
ການເພີ່ມ, ແກ້ໄຂ, ລຶບ ຂໍ້ມູນການເພີ່ມ, ແກ້ໄຂ, ລຶບ ຂໍ້ມູນ
ການເພີ່ມ, ແກ້ໄຂ, ລຶບ ຂໍ້ມູນ
 
ການກະກຽມຂໍ້ມູນ (Prepare data)
ການກະກຽມຂໍ້ມູນ (Prepare data)ການກະກຽມຂໍ້ມູນ (Prepare data)
ການກະກຽມຂໍ້ມູນ (Prepare data)
 
ພາກປະຕິບັດ 9 (Lab 9) ຈັດການຖານຂໍ້ມູນ
ພາກປະຕິບັດ 9 (Lab 9) ຈັດການຖານຂໍ້ມູນ ພາກປະຕິບັດ 9 (Lab 9) ຈັດການຖານຂໍ້ມູນ
ພາກປະຕິບັດ 9 (Lab 9) ຈັດການຖານຂໍ້ມູນ
 
ພາກປະຕິບັດ 8 (Lab 8)
ພາກປະຕິບັດ 8 (Lab 8)ພາກປະຕິບັດ 8 (Lab 8)
ພາກປະຕິບັດ 8 (Lab 8)
 
ພາກປະຕິບັດ 7 (Lab 7)
ພາກປະຕິບັດ 7 (Lab 7)ພາກປະຕິບັດ 7 (Lab 7)
ພາກປະຕິບັດ 7 (Lab 7)
 
ພາກປະຕິບັດ 6 (Lab 6) ການໃຊ້ CheckBox
ພາກປະຕິບັດ 6 (Lab 6) ການໃຊ້ CheckBoxພາກປະຕິບັດ 6 (Lab 6) ການໃຊ້ CheckBox
ພາກປະຕິບັດ 6 (Lab 6) ການໃຊ້ CheckBox
 
ພາກປະຕິບັດ 5 (Lab 5) ການນຳໃຊ້ RadioButton
ພາກປະຕິບັດ 5 (Lab 5) ການນຳໃຊ້ RadioButtonພາກປະຕິບັດ 5 (Lab 5) ການນຳໃຊ້ RadioButton
ພາກປະຕິບັດ 5 (Lab 5) ການນຳໃຊ້ RadioButton
 
Chapter2
Chapter2Chapter2
Chapter2
 
Chapter1
Chapter1Chapter1
Chapter1
 
ພາກປະຕິບັດ 4 (Lab 4) ການເປິດActivity ໃໝ່
ພາກປະຕິບັດ 4 (Lab 4) ການເປິດActivity ໃໝ່ພາກປະຕິບັດ 4 (Lab 4) ການເປິດActivity ໃໝ່
ພາກປະຕິບັດ 4 (Lab 4) ການເປິດActivity ໃໝ່
 
ຕິດຕັ້ງ Tomcat (xampp) ໃນ eclipse
ຕິດຕັ້ງ Tomcat (xampp) ໃນ eclipseຕິດຕັ້ງ Tomcat (xampp) ໃນ eclipse
ຕິດຕັ້ງ Tomcat (xampp) ໃນ eclipse
 

Lab 10 gride view

  • 1. ວິທະຍາໄລສອນພິທັກລາວ ອຈ ພອນປະເສີດ ຜົນດາລາ 1 ພາກປະຕິບັດ 10 ສະແດງຮູບໃນ GridView 1. ສ້າງ Project ໃໝ່ GridView Food 2. ຂຽນໂຄດໃນ activity_main.xml <?xml version="1.0" encoding="utf-8"?> <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:id="@+id/gvFoods" android:layout_width="match_parent" android:layout_height="wrap_content" android:columnWidth="150dp" android:horizontalSpacing="15dp" android:numColumns="auto_fit" android:verticalSpacing="15dp"> </GridView> </RelativeLayout> 3. ນາຮູບອາຫານມາກ ັບໄວ້ທີ່ Drawable 4. ສ້າງ food_entry.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="150dp" android:layout_height="wrap_content" android:background="#DAF7A6" android:orientation="vertical" android:gravity="center" android:padding="15dp"> <ImageView android:id="@+id/imgFood" android:layout_width="150dp" android:layout_height="120dp" android:src="@drawable/papaya_salad" /> <TextView android:id="@+id/tvName" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center"
  • 2. ວິທະຍາໄລສອນພິທັກລາວ ອຈ ພອນປະເສີດ ຜົນດາລາ 2 android:text="ຕຳຫຼວງພະບຳງ" android:textSize="16dp" android:textColor="#154360"/> <TextView android:id="@+id/tvPrice" android:gravity="center" android:text="ລຳຄຳ 15,000 ກີບ/ຈຳນ" android:textSize="12dp" android:layout_width="match_parent" android:layout_height="wrap_content" /> </LinearLayout> 5. ສ້າງ Food.kt package com.example.phonhdala.grideviewfood class Food { var name: String?=null var price: String?=null var image: Int?=null constructor(name: String,price:String,image: Int){ this.name=name this.price=price this.image=image } } 6. ເພີ່ ມ Empty Activity ໃໝ່ໂດຍຕັ້ງຊ່ເປັນ FoodDetials 7. ຂຽນໂຄດໃນ activity_food_detials.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout 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" android:gravity="center_horizontal" android:orientation="vertical" tools:context=".FoodDetials"> <ImageView android:id="@+id/imgFoodDetials" android:layout_width="200dp" android:layout_height="200dp" android:layout_marginTop="30dp" android:src="@drawable/papaya_salad"/> <TextView
  • 3. ວິທະຍາໄລສອນພິທັກລາວ ອຈ ພອນປະເສີດ ຜົນດາລາ 3 android:id="@+id/tvNameDetial" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="0dp" android:text="ຕຳຫຼວງພະບຳງ" android:textColor="@color/colorPrimary" android:textSize="24sp"/> <TextView android:id="@+id/tvPriceDetial" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="16dp" android:text="15,000 ກີບ/ຈຳນ" android:textSize="16dp"/> </LinearLayout> 8. ຂຽນໂຄດໃນ MainActivity.kt class MainActivity : AppCompatActivity() { var adapter:FoodAdapter?=null var foodsList=ArrayList<Food>() override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) // Load foods foodsList.add(Food("ຕຳຫຼວງພະບຳງ","15,000 ກີບ/ ຈຳນ",R.drawable.papaya_salad)) foodsList.add(Food("ແກງໜໍ່","35,000 ກີບ/ ຖ້ວຍ",R.drawable.bamboo_soup)) foodsList.add(Food("ແກງເຫັດ","35,000 ກີບ/ ຖ້ວຍ",R.drawable.mushroom_soup)) foodsList.add(Food("ໄຄແຜໍ່ນ","20,000 ກີບ/ ຈຳນ",R.drawable.kaipan)) foodsList.add(Food("ແຈໍ່ວປຳແດກ","25,000 ກີບ/ ຈຳນ",R.drawable.jeopadage)) foodsList.add(Food("ທອດປີກໄກໍ່","20,000 ກີບ/ ຈຳນ",R.drawable.chicken_wing)) foodsList.add(Food("ແໜມເຂ້ຳ","25,000 ກີບ/ ຈຳນ",R.drawable.nam_rice)) foodsList.add(Food("ປ້ງໄກໍ່ທຳປຳແດກ","30,000 ກີບ/ ຈຳນ",R.drawable.chicken_padeak)) foodsList.add(Food("ໄກໍ່ຕ້ມ","35,000 ກີບ/ ຈຳນ",R.drawable.chicken_tome)) foodsList.add(Food("ເຄໍ່ອງໃນງວລວກ","35,000 ກີບ/
  • 4. ວິທະຍາໄລສອນພິທັກລາວ ອຈ ພອນປະເສີດ ຜົນດາລາ 4 ຈຳນ",R.drawable.luaokeungnay)) adapter=FoodAdapter(this,foodsList) gvFoods.adapter=adapter } class FoodAdapter:BaseAdapter{ var myfoodsList=ArrayList<Food>() var context:Context?=null constructor(context: Context,foodsList: ArrayList<Food>):super(){ this.context=context this.myfoodsList=foodsList } override fun getCount(): Int { return myfoodsList.size } override fun getItem(p0: Int): Any { return myfoodsList[p0] } override fun getItemId(p0: Int): Long { return p0.toLong() } override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View { val food=this.myfoodsList[position] val inflater=context!!.getSystemService(Context .LAYOUT_INFLATER_SERVICE) as LayoutInflater var foodView=inflater.inflate(R .layout.food_entry,null) foodView.imgFood.setOnClickListener { val intent=Intent(context ,FoodDetials::class.java) intent.putExtra("name",food.name!!) intent.putExtra("price",food.price!!) intent.putExtra("image",food.image) context!!.startActivity(intent) } foodView.imgFood.setImageResource(food.image!!) foodView.tvName.text=food.name!! foodView.tvPrice.text=food.price!! return foodView } } }
  • 5. ວິທະຍາໄລສອນພິທັກລາວ ອຈ ພອນປະເສີດ ຜົນດາລາ 5 9. ຂຽນໂຄດໃນ FoodDetials.kt class FoodDetials : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_food_detials) val bundle=intent.extras imgFoodDetials.setImageResource(bundle.getInt("image")) tvNameDetial.text=bundle.getString("name") tvPriceDetial.text=bundle.getString("price") supportActionBar!!.setDisplayHomeAsUpEnabled(true) } override fun onOptionsItemSelected(item: MenuItem): Boolean { if (item.itemId==android.R.id.home){ onBackPressed() } return super.onOptionsItemSelected(item) } override fun onBackPressed() { super.onBackPressed() } }
  • 6. ວິທະຍາໄລສອນພິທັກລາວ ອຈ ພອນປະເສີດ ຜົນດາລາ 6 ເມ່ອທົດສອບ Run ຈະໄດ້ດັ່ງນີ້ ====================