Input Text and Change Color by Two Button AlertDialog

Input Text and Change Color by Two Button AlertDialog

มีหลายคำถามที่ถามมาเกี่ยวกับ การ กรอกข้อความ Text ไปที่ EditText และ Intent ส่งค่าไปยัง Activity ที่สอง โดยมีการ AlertDialog ให้เลือกสี ของ TextView ที่จะแสดงใน Activity ที่สอง ทำอย่างไร

 

 

 

 

Concept Design

โจทย์ของเราเป็นอย่างนี้นะครับ เดียวเราจะโค้ดดิ้ง แอฟ ที่ชื่อว่า LearnInputChooseColor โดย แอฟนี้จะประกอบไปด้วย 2 Activity คือ

  • MainActivity.java มีหน้าที่รับค่าจาก EditText เสร็จแล้ว จะใช้ AlertDialog แบบ TwoButton เลือกสีของ TextView และ Intent ค่าไป Answer.java
  • Answer.java จะทำหน้าที่รับค่า จาก MainActivity มาแสดงผล และมีปุ่ม Back เพื่อกลับไป Activity แรก

 

 

New Project Android

New Project Android ออกมาเลยครับ

 

 

กำหนดชื่อโปรเจ็คเป็น LearnInputChooseColor ครับ

 

 

Build Target

พอดีได้เครื่อง Tattoo ของน้องที่มาเรียน การเขียนแอฟแอนดรอยด์ มาทดสอง เลยต้องตั้ง Build Target เป็น android 1.6 ครับ

 

 

Properties

 

 

ออกแบบ User Interface ก่อน

หลังจากที่ eclipse ได้ทำการ Gen โค้ดต่างให้ ผมได้เปิด main.xml มา Design UI ก่อน

 

 

โค้ดดิ้ง xml ตามนี้

สังเกตุว่าผมจะกำหนด id ให้กับ editText และ button ด้วย

 

 

เพื่อให้ได้หน้าตาแบบนี้

 

 

สร้าง answer.xml

สำหรับ layout ที่สอง ไว้ให้ Activity ที่สอง (Answer.java)

 

 

 

eclipse จะสร้าง answer.xml ให้

 

 

การโค้ดดิ้งไฟล์ answer.xml แบบนี้นีะครับ

ผมจะกำหนด id ที่จะแสดงคำตอบหรือ andwer ไว้สองจุด ที่เดียวกัน

 

 

เพื่อให้ได้ Layout แบบนี้

 

 

Coding

เปิดไฟล์ MainActivity.java ออกมาเลยครับ ขั้นแรกผมกำหนด Attribule ก่อน

 

 

ต่อมาผม SetOnClickListener ให้กับปุ่ม btnInput

 

 

โดยกำหนดว่า ถ้ามีการคลิก btnInput ให้ทำ เมธอด ButtonInput()

 

 

แล้วผมก็สร้างเมธอด ButtonInput()

โดยกำหนด AlertDialog ที่จะโชว์ข้อความ Choose Text Color ? และมีปุ่มเลือกสี Yellow กับ Red

 

 

สำหรับ MainActivity.java พักเอาไว้ก่อน ให้เราไปสร้าง Activity ที่สองกัน

สร้าง Activity ที่สอง

ไปที่ New > Class

 

 

ผมกำหนดชื่อ activity ที่สองว่า Answer มี Superclass เป็น andrid.app.Activity

 

 

ตัว eclipse จะช่วย gen code ให้แบบนี้

 

 

สร้างเมธอด OnCreate ก่อน

 

กำหนด Attribute ต่างๆ

 

ผูก Widget กับ Attribute ต่างๆ

 

 

ผมใช้ เงื่อนไข if

ในการกำหนด การ SetText ไปที่ txtAnswer

 

 

กำหนด OnClickListener ให้ปุ่ม Back

 

 

กลับมาที่ MainActivity.java

ในส่วนของ AlertDialog จะมีสองปุ่ม โดยปุ่มแรกเราจะกำหนด ให้มีการ Intent ไปที่ Answer.java โดยจะมีการส่งค่า strInput จะส่งไปในรูปตัวแปร TextInput และ ค่า 1 ในตัวแปร colortext

 

 

ส่วนอันนีเป็นของอีกปุ่มนึง

 

มาทดสอบโค้ดกัน

สิ่งแรกมาทดสอบใน AVD (Android Virtual Device) เปิด AVD ที่เป็นแอนดรอยด์ 1.6 ขึ้นมาและทดสอบครับ

 

 

ผมลองกรอก Text Master และคลิก Input

 

 

ลองคลิก Yellow

 

 

ลองคลิก Back แล้ว คลิก Input กับ Red

 

 

ต่อมาผมนำไปทดสอบใน มือถือแอนดรอยด์ ที่เป็น ระบบปฎิบัติการแอนดรอยด์ 1.6 อย่าง htc tattoo

 

 

 

 

ลองทดสอบกับมือถือ แอนดรอยด์ เวอร์ชั่นสูงๆบ้าง อย่าง Wallcome A99 ซึ่งเป็นระบบปฎิบัติการแอนดรอยด์ 2.3.3

 

 

 

 

 

 

 

 

คู่มือการอบรมแอนดรอยด์ สำหรับ ผู้เริ่มต้น

Open publication - Free publishing - More android

joomla stats



Powed By EWTC easy4com workshop & training center

53 Bangna-Trad14 Bangna Bangkok 10260

office:02-393-0970 fax:02-399-2542 hotline24/7:081-859-5309