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

เขียนเมื่อ 9 ปีก่อน โดย Ninenik Narkdee
action bar action button android android studio

คำสั่ง การ กำหนด รูปแบบ ตัวอย่าง เทคนิค ลูกเล่น การประยุกต์ การใช้งาน เกี่ยวกับ action bar action button android android studio

ดูแล้ว 8,249 ครั้ง


ตอนที่แล้ว เราได้รู้จักการสร้าง action button แสดงใน action bar
โดยที่ยังไม่มีการระบุให้ทำงานใดๆ เมื่อกดเลือกปุ่ม 
 
การเพิ่ม action button ใน action bar ตอนที่ 1 

 
ในเนื้อหานี้ เราจะเรียกใช้คำสั่ง หรือ 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
    หากไม่มีข้อผิดพลาด ผลลัพธ์จะเป็นตามนี้
 
        
    

 


กด Like หรือ Share เป็นกำลังใจ ให้มีบทความใหม่ๆ เรื่อยๆ น่ะครับ



อ่านต่อที่บทความ









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









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





คำแนะนำ และการใช้งาน

สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก


  • ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
  • เปลี่ยน


    ( หรือ เข้าใช้งานผ่าน Social Login )







เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ