Activity 和Fragment 的通信

Posted xiongbo753

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Activity 和Fragment 的通信相关的知识,希望对你有一定的参考价值。

     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 的通信的主要内容,如果未能解决你的问题,请参考以下文章

Fragment 和 Activity 之间通信

Android 中Fragment和Activity之间的通信

架构师成长之路-基于android fragment通信的面向对象的万能接口

Activity-Fragment 方法通信

React拓展 - setState - 路由组件懒加载 - Hooks - Fragment - Context - PureComponent - 插槽 - 错误边界 - 组件通信方式总结(代码片

Android:Fragment与Activity之间的通信方式简单介绍