1. 程式人生 > >Activity 和Fragment 的通信

Activity 和Fragment 的通信

llb 發送廣播 frament ron loading 技術分享 AC info 適合

Activity 和 Fragment 通信

  1. Activity 給 Fragment 傳遞信息

接口通信,Intent 通信,還有直接調用他的方法(後兩者只適合剛進去就接受數據,而接口還可以通過某種情況來回調)廣播傳輸

  1. Fragment 給 Activity 傳遞信息

接口傳輸 廣播傳輸

下面就給個實例來看一下

第一個Fragment: Activity向Fragment 通信是Intent 通信,Fragment向Activity傳輸是接口通信。

技術分享圖片

這個是Activity中的代碼。 先得到Fragment的實例 在使用 setArguments()方法;

技術分享圖片

這一段代碼主要是聲明一個接口,只要在Activity中使用該Fragment調用setOneCallBack()方法就可以實現該接口。

 

技術分享圖片

第二個Fragment:Activity向Fragment通信是使用接口通信,Fragment向Activity通信也是接口通信。(一般情況下都使用接口通信)

技術分享圖片

只要在 Fragment方法中 ((MainActivity)getActivity()).setTwoCommunication()方法就可以了。然後在顯示該Fagment 調用該方法就可以了比如

技術分享圖片

Frament向Ac技術分享圖片tivity 的接口回調:

技術分享圖片

第三個Fragment:Activity 向Fragment 接口通信,Fragment向Activity 廣播傳輸;

技術分享圖片

在MainActivity 中聲明BroadcaseReceiver 使用完之後要註銷。

技術分享圖片

因為在Fragment 沒有辦法像Activity一樣直接註冊廣播和發送廣播。

所以在Fragment 註冊廣播:

技術分享圖片

Activity 和Fragment 的通信