ในเอกสารนี้"การสื่อสารกับส่วนอื่นๆ" Google แจ้งให้เราทราบว่า แนวทางปฏิบัติที่ดีที่สุดในการสื่อสารกิจกรรมและแฟรกเมนต์คือใช้งานอินเทอร์เฟซ อินเทอร์เฟซนี้สามารถเรียกโดย Fragment และดำเนินการพฤติกรรมที่จำเป็นในกิจกรรม
แต่ยังมีวิธีแฮ็กในการทำเช่นนี้ รับ Activity โดยตรงด้วยเมธอด "getActivity()" จากนั้นเราสามารถใช้ "public method" ทั้งหมดข้างใต้ได้
สิ่งนี้ทำให้ฉันสับสนมาก เพราะฉันไม่สามารถคิดถึงข้อเสียที่สำคัญของการใช้วิธีการแฮ็กเพื่อทำสิ่งนี้ได้
ข้อดีของแนวทางแรกที่เกิดขึ้นในหัวของฉันคือ:
- ฉันสามารถจำกัด "การเข้าถึงทรัพยากร" ไว้ใต้กิจกรรมของฉันได้ แต่เนื่องจาก Fragment สามารถเรียก "getActivity()" ได้ จึงสามารถเข้าถึงเมธอด "public" ทั้งหมดในนั้นได้ ดังนั้นนี่จึงไม่สามารถโน้มน้าวใจฉันได้จริงๆ
- อ่านและเล่าเรื่องได้มากขึ้นในโค้ด ด้วยแนวทางแรก โค้ดบอกเราว่า "กิจกรรมนี้เปิดเฉพาะพื้นที่ที่เข้าถึงได้เฉพาะเหล่านี้สำหรับ Fragment" เราสามารถรู้ได้ว่า "สิ่งที่อยู่ภายใน Fragment อาจรบกวนกิจกรรม" ได้โดยตรง เพียงแค่ดูโค้ดในกิจกรรม ไม่เช่นนั้น เราจะต้องเปิดโค้ดใต้ Fragment เพื่อดูว่ามันทำอะไร
เอาล่ะ หลังจากที่ฉันสรุปสิ่งเหล่านี้ ฉันก็มั่นใจในตัวเองนิดหน่อย แต่จริงๆ แล้ว ฉันต้องการของแข็งอื่นๆ จริงๆ และต้องมีเหตุผลในการทำเช่นนี้ ความคิดหรือเอกสารใด ๆ ที่จะได้รับการชื่นชมจริงๆ !!