Dalam dokumentasi "Berkomunikasi dengan Fragmen Lain", Google memberi tahu kita bahwa praktik terbaik untuk mengomunikasikan Aktivitas dan Fragmen adalah dengan mengimplementasikan antarmuka. Antarmuka ini kemudian dapat dipanggil oleh Fragment dan mengeksekusi perilaku yang diperlukan dalam Aktivitas.
Namun ada juga cara hack untuk melakukan ini. Dapatkan Aktivitas secara langsung dengan metode "getActivity()" dan kemudian kita dapat menggunakan semua "metode publik" di bawahnya.
Ini cukup membingungkan saya. Karena saya tidak bisa memikirkan kerugian kritis apa pun dalam menggunakan cara hack untuk melakukan ini.
Keuntungan dari pendekatan pertama yang muncul di kepala saya adalah:
- Saya dapat membatasi "aksesibilitas sumber daya" di bawah Aktivitas saya. Namun karena Fragmen dapat memanggil "getActivity()", maka Fragmen tersebut sebenarnya dapat mengakses semua metode "publik" di dalamnya. Jadi ini tidak bisa meyakinkan saya.
- Lebih mudah dibaca dan bercerita dalam kode. Dengan pendekatan pertama, kode memberi tahu kita bahwa "Aktivitas ini hanya membuka area spesifik yang dapat diakses untuk Fragmen". Kita dapat mengetahui "Apa yang ada di dalam Fragmen dapat mengganggu Aktivitas" secara langsung hanya dengan melihat kode di Aktivitas. Atau yang lain, kita perlu membuka kode di bawah Fragment untuk melihat fungsinya.
Baiklah, setelah saya rangkum, saya sedikit yakin pada diri saya sendiri. Tapi sejujurnya, saya sangat menginginkan alasan lain yang kuat dan harus melakukan ini. Ide atau dokumentasi apa pun akan sangat dihargai!!