Activity 和Fragment 的通信
阿新 • • 發佈:2018-04-05
llb 發送廣播 frament ron loading 技術分享 AC info 適合
Activity 和 Fragment 通信
- Activity 給 Fragment 傳遞信息
接口通信,Intent 通信,還有直接調用他的方法(後兩者只適合剛進去就接受數據,而接口還可以通過某種情況來回調)廣播傳輸
- 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向Activity 的接口回調:
第三個Fragment:Activity 向Fragment 接口通信,Fragment向Activity 廣播傳輸;
在MainActivity 中聲明BroadcaseReceiver 使用完之後要註銷。
因為在Fragment 沒有辦法像Activity一樣直接註冊廣播和發送廣播。
所以在Fragment 註冊廣播:
Activity 和Fragment 的通信