我一直在尋找並沒有找到嵌套片段與父片段通信的最佳方式。 Android文檔指出:親子片段子片段通信
所有片段到片段通信都是通過關聯的活動完成的。兩個碎片不應該直接通信。
假設我有一個畫廊的應用程序,有一個ViewPagerFragment(父)和ImageFragment(子)用來顯示圖像全屏被點擊時。我需要從我的父級片段傳遞文件的ArrayList到子片段。什麼是正確的方法來做到這一點?
1)父片段創建ArrayList的一個getter和使用getParentFragment()
在子片段訪問此方法?
2)實現一個接口,並通過活動,但如何找到兒童片段如果它沒有ID的活動?
3),或在父片段使用:
ChildFragment fragment =(ChildFragment)getChildFragmentManager().findFragmentById(R.id.child_fragment_id);
,只需使用一個設置在子片段。
但是,我又如何獲得childFragment的ID?
感謝大家提前
因此,實際上有沒有標準呢?使用接口與使用getParent()相比沒有優勢? – LieForBananas
使用接口更清晰且更靈活,因爲子片段可以在不知道其特定類的情況下從任何父片段獲取列表,甚至可以從Activity獲取。唯一的條件是Parent Fragment/Activity實現接口。 – Juan
非常感謝您的解釋!我用getParent()方法去了,但我想我要實現一個接口! – LieForBananas