Fragment与Fragment、Activity通信的四种方式(一)
来源:互联网 发布:cmd网络修复命令 编辑:程序博客网 时间:2024/05/18 03:31
一直想总结一下Fragment与Fragment、Activity通信的问题,今天有时间一共总结了三种,权当抛砖引玉,如果大家还有更好的方式来实现Fragment和Fragment、Activity的通信,欢迎提出来,我们一起学习。
我们就来看看怎样实现两个Fragment之间的通信。
1.直接在一个Fragment中调用另外一个Fragment中的方法
我们可以直接在一个Fragment中调用另外一个Fragment的公开方法,前提是要先拿到另外一个Fragment的实例,我们先来看看怎样在左边的Fragment中拿到右边Fragment的实例:
ContentFragment cf = (ContentFragment) getActivity()
.getFragmentManager().findFragmentById(
R.id.content_fg);
cf.showPro(name);
我们通过宿主Activity拿到FragmentManager,进而再拿到右边的Fragment,然后调用右边Fragment里边的showPro方法,其中要传入的参数是左边点击的人名,我们看看右边Fragment中的showPro方法:
public void showPro(String key) {
list = map.get(key);
adapter = new ArrayAdapter<String>(getActivity(),
android.R.layout.simple_list_item_1, list);
lv.setAdapter(adapter);
}
先根据传进来的人名拿到该人作品的数据集,然后构造一个adapter赋值给listview,很简单吧。使用这种方式我们可以直接在一个Fragment中调用另一个Fragment的公开方法,从而实现两个Fragment的通信。
这种方法适于那些我们在布局文件中就已经定义了的Fragment,这种Fragment每个都有id,可以通过FragmentManager找到,但是如果我们使用了ViewPager,即每个Fragment都是动态添加进来的,这个时候我们无法通过FragmentManager获得另外一个Fragment的实例,那么该怎么办呢?这时我们就要用到下面这种方式了。
- Fragment与Fragment、Activity通信的四种方式(一)
- 关于Fragment与Fragment、Activity通信的四种方式
- 关于Fragment与Fragment、Activity通信的四种方式
- 关于Fragment与Fragment、Activity通信的四种方式
- 关于Fragment与Fragment、Activity通信的四种方式
- 关于Fragment与Fragment、Activity通信的四种方式
- Fragment与Fragment、Activity通信的四种方式(二)
- Fragment与Fragment、Activity通信的四种方式(三)
- 关于Fragment与Fragment、Activity通信的三种方式
- 关于Fragment与Fragment、Activity通信的五种方式
- Activity与Fragment的通信方式
- Activity与Fragment通信方式
- Fragment与Activity的相互通信(一)
- fragment与activity间的通信(一)
- Fragment与Activity的通信:
- Fragment与Activity的通信
- Fragment与Activity的通信
- Activity与Fragment,Fragment与Fragment之间的通信
- ubuntu 14.04下安装ftp
- 计算对象占用内存大小工具类
- 调色板
- NoteExpress文献管理工具的安装与使用(一)
- 【iOS开发】iOS 10 添加推送功能注意点及问题汇总
- Fragment与Fragment、Activity通信的四种方式(一)
- RCTF - Exploitation 200 welpwn - writeup
- HDFS
- 手机号码归属地批量查询软件的作用
- Bootstrap3中相关插件的yingyong
- 第十四周项目一数组大折腾(3)创建一个长度为16的整形数组a并初始化,先输出数组中元素值为3的倍数的数,再输出所有下标为3的倍数的元素值
- 直播 点播服务视频流媒体方案简析
- sql查询表中字段值相同的数据记录
- 远离百毒推广的3个方法