Activity和Fragment之前的通信
来源:互联网 发布:c 语言 api 删除文件 编辑:程序博客网 时间:2024/04/29 15:31
当在Activity中使用了Fragment的时候,始终要考虑的一个问题就是Fragment和Activity要如何通信。所谓的通信就是当Fragment中触发了某些事件之后,或者数据发生变化之后,如何通知Activity。
请先看下面的class图示:
来解释一下图中的意思:
这里的FragmentCallBack 是一个接口定义了Fragment 和Activity之间通信时候调用的方法。FragmentLearningActivity本身 实现了这个callback接口,从泛型角度,它就是这个接口的具体实现类。
而在TopFragment中定义了一个FragmentCallBack的实例callBack,所以当初始化的TopFragment的时候,就把Fragment所属的Activity也就是FragmentLearningActivity注册给这个实例callBack。
当TopFragment有事件触发的时候,就调用这个接口实例callBack调用invokeItemSelect方法,因为callBack就是泛指FragmentLearningActivity,所以FragmentLearningActivity中的invokeItemSelect就会触发,这通过这个方法就可以实现具体的通信。
其实这种方式在popupwindow和Activity通信方式也会被用到。所以大家要经常思考加以扩展和复用。
下面是一个Fragment和Activity之间通信的例子:
TopFragment实现:
FragmentCallBack接口
FragmentLearningActivity的代码实现:
Activity布局文件中添加fragment:
0 0
- Activity和Fragment之前的通信
- 实现Activity和Fragment之前通信
- Fragment与Activity之前的通信已经Fragment的生命周期
- activity和fragment的通信
- fragment和activity通信
- Activity和Fragment通信
- Fragment和Activity之间的相互通信
- 关于activity和fragment的通信
- Fragment和Activity之间的相互通信
- Activity和Fragment之间的通信
- Fragment和Activity之间的通信
- Fragment和Activity之间的通信
- Android中的Fragment ---- 04(Activity和Fragment之间的通信)
- Android中的Fragment ---- 05(Activity和Fragment之间的通信)
- Activity和Fragment的三种通信以及EventBus通信
- Fragment和Activity通信不过如此
- fragment和activity通信问题
- Activity和fragment/service通信
- Intent的作用与其属性的详解
- CentOS - LAMP安装(3)
- 23种设计模式之十四(行为模式)Strategy模式
- 2015年2月5日 something
- Android 应用正确关闭GPS的方法
- Activity和Fragment之前的通信
- python os.open() os.fchdir()os.chdir() os.close()
- 协同过滤算法——入门
- Fragment和FragmentManager已经Activity三者之间的研究
- Mojolicious学习笔记-Mojo::UserAgent-2015-02-05
- ios 图片轮播详解
- Openfire服务器的安装部署详细步骤
- 关于Ext3.4的Excel的导入
- Maximal Rectangle (Java)