关于Fragment和Activity之间通讯传参的一点小心得
来源:互联网 发布:中国心力衰竭数据平台 编辑:程序博客网 时间:2024/06/06 08:51
情况是这样的,博主这边有一个需求就是在fragment上的自定义viewpager上自动分页加载内容,动态增加viewpager页面数,同时在activity上设置动态加载分页的指示点。
这就不可避免的用到了fragment和Activity的通信,需要将fragment上的viewpager的页数下标回返到Activity上来处理上面的指示点。
博主最初想了三种方案:
1、通过act创建handler,fragment引用handler发送消息,这种方法确实可以实现,但并非万能的,如果反向使用,act引用fragment创建的对象,由于生命周期不同步(长周期引 用短周期),易造成内存泄漏。
2、第二种就是在fragment上通过getActivity()方法获取到其挂载的activity,来实现通讯。这个activity是有指向性的唯一的。换句话说,获取到的是当前挂载的act,而且是不可变的,无疑增加了耦合性。
3、第三种就是博主采用的在fragment定义接口,在act去实现接口(类似于监听者模式)。
问题就在这:博主从activity中传到fragment中的listener对象存到fragment的全局变量中之后,就变成了null。就是说调用不了传参的方法。后来归咎于生命周期方法不同步的问题。
解决方案是讲fragment端接收listener的类型设置为静态,提前初始化,然后赋值(赋传过来的listener对象)。
0 0
- 关于Fragment和Activity之间通讯传参的一点小心得
- 关于servlet跳转和重定向的一点小心得
- 关于系统设计的一点小心得
- 关于js的一点小心得
- 关于artTemplate使用的一点小心得
- 关于JS定时器的一点小心得
- Fragment和Activity之间的传参
- Fragment 和 Fragment 之间的通讯
- Fragment 和 Fragment 之间的通讯
- 关于搜索的随笔自己的一点小心得
- OOA的一点小心得!
- github的一点小心得
- 关于网站更新速度的一点小心得
- 关于android studio 编译报错的一点小心得
- 关于windows metro应用程序开发的一点小心得
- 关于预防流氓软件入侵的一点小心得
- Activity和Fragment之间的传值
- Fragment和Activity通讯
- 深度学习Caffe实战笔记(2)用LeNet跑车牌识别数据
- jquery多选择动态参数的使用以及ajax异步请求中提交整个form表单中serializeArray()的使用以及后台值得获取方式
- 虫食算
- 程序员的七大痛点
- git命令
- 关于Fragment和Activity之间通讯传参的一点小心得
- Git常用命令及使用心得
- 银行卡号验证js(luhn算法)
- Android Linux内核驱动程序(基于mtk方案 3.18内核)
- Linux 文件按大小排序
- 梯形概率分布
- (三) nginx高可用搭建
- AFNetworking 3.0 源码解读(三)之 AFURLRequestSerialization
- shell脚本检测服务器进程并重启以及失败预警