| เรียนรู้ AlertDialog แบบปุ่มเดียว จาก แอพ LearnAlertDialog_OneButton |
|
อยากทำ AlertDialog เพื่อยีนยันการ กระทำต่างๆ ของ user เช่น กรอกชื่อ และ นามสกุลหรือยัง หรือ ยืนยันการกดปุ่มต่างๆ เมื่อแน่ใจแล้วให้คลิกตอบ เพียงปุ่มๆเดียว จะทำอย่างไร มาเรียนรู้การใช้ AlertDialog
เดี๋ยวเรามาลองทำ แอพพลิเคชั่น ซะอันหนึ่ง เพื่อเรียนรู้การใช้ AlertDialog บน Application android กัน โจทย์ เป็นอย่างนี้ เดี๋ยวเราจะสร้าง แอพซะ หนึ่งตัวที่มีปุ่มกด ที่ชื่อว่า Button มีข้อความที่เป็น TextView เชีญชวนให้ คลิกปุ่ม Button เมื่อคลิกเสร็จ จะมี หน้าต่างเล็กๆ (AlertDialog) ยืนยันว่าเราได้ คลิกปุ่มแล้วนะ คลิกเสร็จ จะกลับมาหน้าเดิม มาเรี่มต้นกัน New > Project Android
ตั้งชื่อโปรเจ็กว่า LearnAlertDialog_OneButton
กำหนดการทำงานบน แอนดรอยด์ เวอร์ชั่น 2.3.3 ขึ้นไป
ที่ Properties ผมกำหนด
Finish ไปเลยครับ แล้ว eclipse จะ gen ไฟล์ต่างๆ ให้แบบนี้
จัดการกับ User Interface ก่อนก่อนที่จะเข้าไปทำการ Coding ผมจะจัดการกับ User Interface ก่อนโดยเข้าไปที่ main.xml
ที่ Widget ที่เป็น TextViewผมกำหนด Property ของ Text ใหม่เป็น Please Click Button
เปลี่ยน TextView ให้ใหญ่ขึ้นด้วย TextSize ขนาด 20dp
ปรับให้อยู่ตรงกลาง ด้วย Gravity = center
มาทำปุ่ม Button กันลาก Button Widget ลงมาวางเลยครับ
กำหนดให้อยู่ตรงกลาง
ทำให้ปุ่มกว้างขึ้น
และความสูง
และที่สำคัญที่สุด กำหนด id = @+id/btnOneButton จำไว้ด้วยนะครับเดี๋ยวเราจะนำมาใช้ในโค้ด
การโค้ดดิ้ง แอพ แอนดรอยด์หลังจากที่เราทำการจัดการกับ User Interface เป็นที่เรียบร้อยแล้วต่อมาเราก็จะมาทำการจัดการด้าน โค้ดดิ้ง กันบ้าง เปิด MainActivity.java ออกมาเลยครับ
ผมประกาศ ตัวแปร OneButton ให้เป็น Attributr แบบ Button ก่อน
ต่อมาผมผูก OneButton กับ ปุ่มที่มี id = @+id/btnOneButton
นำ OneButton มา setOnClickListener
ผมกำหนดว่า ถ้ามีการคลิกปุ่ม ให้ไปกระทำ เมธอด ClickButton
แต่จะมี error แบบนี้เพราะ เรายังไม่ได้สร้าง เมธอด ClickButton ให้คลิกที่ error แล้วเลือก Creat method clickOneButton ที่ MainActivity
ตัว eclipse จะไปสร้าง เมธอด ClickOneButton ที่ตอนท้าย แบบนี้ รัก eclipse จริงๆ ไม่ต้องพิมพ์มาก
ที่ Method ClickOneButtonผมได้ถ่ายทอดคลาสจาก AlertDialog.Builder ไปที่ builder
ผมเพิ่ม function setMessage โดยจะมีข้อความ You Just Click Button บน AlertDialog
และ
กับกำหนดปุ่มคลิก โดยการใช้ OnCliclListener
เมื่อมีการคลิก ให้ทำการใช้ เมธอด dialog.dismiss ซึ่งก็คือการปิด AlertDialog
เปิด AlertDislog
ทดสอบโค้ดที่เขียนขึ้น บน AVDไปที่ run as เลือกแบบ Android Application
แอพ เริ่ม Start
ลองคลิกที่ Button จะได้แบบนี้
ลองคลิกที่ Yes I Click ก็จะกลับมาหน้าเดิมแบบนี้
ลองทดสอบบนมือถือแอนดรอยด์ จริง
|