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 注册广播: