PHP Ionic Angularjs Phonegap AJAX Javascript CSS MySQL jQuery Forum

การเรียกใช้ method เมื่อเลือก action button ตอนที่ 2

13 April 2015 By


ตอนที่แล้ว เราได้รู้จักการสร้าง action button แสดงใน action bar
โดยที่ยังไม่มีการระบุให้ทำงานใดๆ เมื่อกดเลือกปุ่ม 
 
การเพิ่ม action button ใน action bar ตอนที่ 1 
http://www.ninenik.com/content.php?arti_id=618 via @ninenik

 
ในเนื้อหานี้ เราจะเรียกใช้คำสั่ง หรือ method อย่างง่ายให้กับปุม action button
โดยเมื่อกดที่ปุ่ม search จะส่งคำว่า 
Search ไปแสดงใน TextView แทนคำว่า Hello World
refresh จะส่งคำว่า Refresh ไปแสดงใน TextView 
settings จะส่งคำว่า Settings ไปแสดงใน TextView 

 
การเรียกใช้ method จากการเลือกของปุ่ม action button
 
1. ก่อนอื่นให้เราเพิ่ม id ให้กับ TextView ก่อน เพื่อไว้สำหรับอ้างอิงเรียกใช้งาน
    โดยไปที่ res/layout/activity_main.xml เปิดไฟล์ activity_main.xml ดูในมุมมอง text
    แล้วเพิ่ม 
 
android:id="@+id/my_text" 
 
    เข้าไปตามรูป
 



 
2. แก้ไข code java ในไฟล์ MainActivity ตามรูป ให้ลบ code เดิมที่อยู่ใน method 
    onOptionsItemSelected ออกก่อนแล้ว เพิ่มโค้ดใหม่ลงไป
 
 

 
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // เก็บค่า id ของปุ่ม action butoon ที่กดเลือก
        int id = item.getItemId();

        // ตรวจสอบค่า ว่า เป็น id ใด  แล้วเรียกใช้ method ที่เราสร้างขึ้น
        // ในตัวอย่างนี้ เราจะส่งค่าข้อความเข้าไปใน method
        switch (id) {
            case R.id.action_search:
                showMyText("Search");
                return true;
            case R.id.action_refresh:
                showMyText("Refresh");
                return true;
            case R.id.action_settings:
                showMyText("Settings");
                return true;
            default:
                return super.onOptionsItemSelected(item);
        }
    }
 
    จะได้เป็น
 
 
 
    สังเกตว่า ตรงคำว่า showMyText จะเป็นสีแดง ก็เพราะว่า เรายังไม่ได้สร้าง method นี้ขึ้นมา
 

  
3. สร้าง method showMyText โดยเลื่อนไปด้านบน เราจะสร้าง method showMyText ใน MainActivity
    class ตามนี้
 
    // method สำหรับแสดงค่าข้อความที่ส่งเข้ามา ใน TextView
    public void showMyText(String myText){
        // สร้าง instance สำหรับเรียกใช้งาน TextView
        TextView myShowText = (TextView) findViewById(R.id.my_text);
        myShowText.setText(myText);  // แสดงค่าที่ส่งเข้ามา
    }
 
 
    จะเห็นว่า ตรง TextView ยังเป็นสีแดง เช่นเคย เราต้อง import class โดยให้คลิกที่ข้อความนั้น
    แล้วกดปุ่ม Alt+Enter พร้อมกัน แล้วเลือกเมนู import class
 

 
 
4. เป็นอันเสร็จการเพิ่ม method ให้กับปุ่ม action button ที่เลือก ให้ทำการทดลอง run app
    หากไม่มีข้อผิดพลาด ผลลัพธ์จะเป็นตามนี้
 
        
    

 



เนื้อหาที่เกี่ยวข้อง



Tags:: android android studio action bar action button

เนื้อหาพิเศษ เฉพาะสำหรับสมาชิก

กรุณาล็อกอิน และลงชื่อติดตาม


สมัครสมาชิกได้ที่        ล็อกอินได้ที่   





URL สำหรับอ้างอิง