Android面試篇之Activity與Fragment、Fragment與Fragment之間的通訊
阿新 • • 發佈:2019-01-07
Activity與Fragment
Activity向Fragment通訊
① 拿到Fragment的引用,直接呼叫其public方法。
② 如果Activity中未儲存任何Fragment的引用,每個Fragment都有一個唯一的TAG或者ID, 可以通過下面兩種方式獲得其引用
● getFragmentManager( ).findFragmentByTag(String tag) 這裡的tag可以是XML佈局檔案中定義的,也可以是通過事務FragmentTransaction動態新增進去的
● getFragmentManager( ).findFragmentById(int id) 這裡的id可以是XML佈局檔案中定義的,也可以是通過事務FragmentTransaction動態新增進去的
③ 在Activity裡使用 fragment.setArguments(bundle) 方法,通過Bundle傳遞資料,在Fragment裡使用Bundle bundle = getArguments()獲取資料。
Fragment向Activity通訊
① 在Fragment中可以通過 getActivity() 得到當前繫結的Activity的例項,然後進行操作。
② 在Fragment中定義介面,在Activity中進行介面回撥。
Fragment與Fragment
假設有F1 和 F2
① F1通過當前繫結的Activity拿到 F2的引用。
② 在F1中定義介面,在Activity中進行介面回撥,由Activity操作F2。
③ 通過廣播。
參考連結: