จากเนื้อหาตอนที่แล้ว เราได้ออกแบบหน้าตา UI ของ app อย่างง่ายแล้ว ซี่งยังไม่มีการกำหนด
หรือเพิ่มคำสั่ง ให้ app นั้นทำงานใดๆ
การเพิ่ม string resources กับ user interface ตอนที่ 2 http://niik.in/615
App ตัวข้างต้นจะแสดงแค่ activity เดียวหรือหมายถึงแสดงผลโดยมีเพียงหน้า screen เดียว มี text field
และ button ในเนื้อหานี้ เราจะทำการเพิ่มโค้ดเข้าไปใน MainActivity เพื่อเรียกใช้ activity ใหม่ให้ทำการแสดง
ข้อความ เมื่อมีการกดปุ่ม Send
เพิ่มคำสั่งให้กับปุ่ม Send button
เพิ่มคำสั่ง method เข้าไปใน MainActivity class ที่ซึ่งจะถูกเรียกใช้ผ่าน ปุ่ม button ดังนี้
1. ในไฟลื app > java > com.example.ninenik.study001 > MainActivity เพิ่มคำสั่ง sendMessage() แทรกเข้าไป
ตามตัวอย่างโค้ดด้านล่าง
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } /** ทำงานเมื่อผู้ใช้กดที่ปุ่ม Send button */ public void sendMessage(View view) { // ทำคำสั่งใดๆ ตอบสนองเมื่อกดปุ่ม Send } }
เมื่อเราเพิ่มส่วนของโค้ดนี้เข้าไป เราจะเห็น error เพราะ android studio ยังไม่เข้าใจหรือยังไม่รู้จัก View class ที่เรากำหนด
เข้าไปใน method argument ดังนั้น เราจำเป็นต้อง import class เข้ามาก่อน โดยวางเมาส์ไปที่คำว่า view ในโค้ด จากนั้น
กดแป้น Alt+Enter เมื่อมีเมนูแสดงขึ้น ให้กดเลือก Import class
2. จากนั้น ให้กลับไปที่ไฟล์ activity_main.xml เพิ่อกำหนดให้เรียกใช้คำสั่งที่เราสร้างขึ้นผ่าน button ดังนี้
a. คลิกเลือก button ใน Layout Editor
b. ในส่วน attributes ให้ไปที่ onClick property แล้วเลือกคำสั่ง sendMessage [MainActivity] จากรายการ
ในตอนนี้ เราได้เพิ่มการทำคำสั่งเมื่อกดที่ปุ่ม button ให้ทำคำสั่ง sendMessage() เรียบร้อยแล้ว
หมายเหตุ: รายละเอียดเพิ่มเติมเกี่ยวกับคำสั่ง sendMessage() เป็นดังนี้
- เป็น Public access คือสามารถเรียกใช้งานคำสั่งนี้ได้ทั้งหมดใน app
- void ใน java คือคำสั่งนี้ ไม่มีการคืนค่าใดๆ กลับ
- View เป็น parameter เดียวที่มีการใช้งาน (ในที่นี้ View คือ object ที่ถูกกด)
ในตอนต่อไป เราจะทำการอ่านค่าจาก ข้อมูลที่กรอกใน text field แล้วส่งไปยัง activity ใหม่ หรือไปอีกหน้าหนึ่ง
แล้วแสดงข้อความนั้น