文档章节

两个Fragment之间的跳转,和数据的传递

iamsean
 iamsean
发布于 2017/07/11 20:22
字数 302
阅读 10
收藏 0
点赞 0
评论 0

需求:从一个Fragment跳转到另一个Fragment,并且还要传递数据,就像Activity的跳转一样。

 

 1、首先在第一个Fragment 里面拿到FragmentManger 和FragmentTransaction 代码如下。

 

[java] view plain copy

  1. @Override  
  2. public void onCreate(Bundle savedInstanceState) {  
  3. super.onCreate(savedInstanceState);  
  4. fm = getFragmentManager();  
  5. }  

 

 

  2 准备要传递的数据跳转。

 

[java] view plain copy

  1. deptListView.setOnItemClickListener(new OnItemClickListener() {  
  2. @Override  
  3. public void onItemClick(AdapterView<?> arg0, View arg1, int postion,long arg3) {  
  4. ft = fm.beginTransaction();//注意。一个transaction 只能commit一次,所以不要定义成全局变量  
  5. long id = adapter.getDepartments().get(postion).getId();  
  6. String name = adapter.getDepartments().get(postion).getName();  
  7. DeptDocFragment df = new DeptDocFragment();  
  8. Bundle bundle = new Bundle();  
  9. bundle.putLong("id", id);  
  10. bundle.putString("name", name);  
  11. df.setArguments(bundle);  
  12. ft.replace(R.id.guide_content, df);  
  13. ft.addToBackStack(null);  
  14. ft.commit();  
  15.     }  
  16. });  

上面的DeptDocFragment就是我要跳转的Fragment,而传递数据跟Activity一样,用Bundle,最后通过df.setArguments(bundle);携带数据。通过replace方法切换Fragment实现跳转,最后别忘了commit 提交。

 

 

3  接下来就是在另一个Fragment 中获取第一个Fragment 传递过来的数据。

 

[java] view plain copy

  1. @Override  
  2. public void onCreate(Bundle savedInstanceState) {  
  3. super.onCreate(savedInstanceState);  
  4. Bundle bundle = getArguments();  
  5. deptId = bundle.getLong("id");  
  6. deptName = bundle.getString("name");  
  7. }  

 

 在Fragment的onCreate() 方法中获取数据。然后在这个Fragment中完成你需要的逻辑。至此,整个Fragment的跳转就算是完成了

© 著作权归作者所有

共有 人打赏支持
iamsean
粉丝 2
博文 1
码字总数 302
作品 0
商丘
fragment 传值

http://blog.csdn.net/walker02/article/details/7557475 使用Fragment的时候可能需要在两个Fragment之间进行参数的传递,开始想着可以使用SharedPreferences进行处理,想想这些简单的参数没...

塔塔米 ⋅ 2014/02/14 ⋅ 0

Gson把Java POJO和Json数据字符串之间相互转换

Gson把Java POJO和Json数据字符串之间相互转换 例如: POJO pojo = new POJO(); 输出: 04-19 14:05:29.528 25587-25587/zhangphil.test D/POJO转换为Json字符串: {"id":1,"name":"zhangphil......

zhangphil ⋅ 04/19 ⋅ 0

数据通信解耦框架 - Dilutions

Dilutions Dilutions是一个专门用于模块间数据协议通信的解耦协议框架,提供高性能数据分析和通信功能,解耦多项目多模块间的数据通信,简化代码逻辑成本。 通过一段URI字符串就能实现所有操作...

林小萌萌 ⋅ 06/01 ⋅ 0

Fragment not attached to Activity 异常

1、关于Fragment(XXFragment) not attached to Activity 异常。出现该异常,是因为Fragment的还没有Attach到Activity时,调用了如getResource()等,需要上下文Content的函数。解决方法,就...

听雪心情 ⋅ 2014/11/07 ⋅ 0

Android第四十二天

1、Fragment的简单使用 <1>Fragment:在Activity中使用的碎片,有自己的布局、生命周期和输入事件 <2>使用Fragment的步骤 (1)创建类,并继承Fragment; (2)重写Fragment的onCreateView()生...

黄晓磊 ⋅ 2016/07/26 ⋅ 0

安卓里面Fragment的转跳只能是Fragment之间的么?

安卓里面Fragment的转跳只能是Fragment之间的么? 安卓里面Fragment的转跳只能是Fragment之间的么?Fragment和Activity能不能转跳? 我下图的错误是为嘛嘞~~~。我的aotherFragment有继承Fra...

it小码农 ⋅ 2016/09/25 ⋅ 3

【求助】Android开发中的数据持久化

描述: 目前有A,B,C,D,E,F,G,H七个activity. 程序首先进入A,A里面主要有一个list,点击item跳转,跳转逻辑: A->B->A A->C->D->A A->D->A 然后在B,C,D里面需要共享数据,然后在C里面两个Fra...

racoon ⋅ 2014/05/08 ⋅ 0

iOS开发之控制器之间传值

多个界面之间的跳转,免不了要进行数据传递,可以是顺向的,也可以是逆向的。android中activity之间数据传递是用startActivity(Intent)和startActivityForResult方式,逆向的时候在源activ...

shenhuniurou ⋅ 2016/03/27 ⋅ 0

Android 过渡动画库--Material-Animations

Material-Animations 是一个很好过渡动画库, 可以应用于 Activity 与 Activity 之间的跳转, Fragment 与 Fragment 之间的跳转, 以及各个 View 变化前后的过渡动画。 效果图:...

匿名 ⋅ 2016/03/17 ⋅ 0

Activity数据返回 startActivityForResult()用法详解

一、目标 如下图,用户在第一个页面填写完数据后点击“计算”按钮,程序跳转到第二个页面,并显示计算结果。在用户点击第二个页面的“返回计算结果”按钮后,程序跳转回第一个页面,并显示第...

我叫leo- ⋅ 2016/04/19 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

常见数据结构(二)-树(二叉树,红黑树,B树)

本文介绍数据结构中几种常见的树:二分查找树,2-3树,红黑树,B树 写在前面 本文所有图片均截图自coursera上普林斯顿的课程《Algorithms, Part I》中的Slides 相关命题的证明可参考《算法(第...

浮躁的码农 ⋅ 昨天 ⋅ 0

android -------- 混淆打包报错 (warning - InnerClass ...)

最近做Android混淆打包遇到一些问题,Android Sdutio 3.1 版本打包的 错误如下: Android studio warning - InnerClass annotations are missing corresponding EnclosingMember annotation......

切切歆语 ⋅ 昨天 ⋅ 0

eclipse酷炫大法之设置主题、皮肤

eclipse酷炫大法 目前两款不错的eclipse 1.系统设置 Window->Preferences->General->Appearance 2.Eclipse Marketplace下载【推荐】 Help->Eclipse Marketplace->搜索‘theme’进行安装 比如......

anlve ⋅ 昨天 ⋅ 0

vim编辑模式、vim命令模式、vim实践

vim编辑模式 编辑模式用来输入或修改文本内容,编辑模式除了Esc外其他键几乎都是输入 如何进入编辑模式 一般模式输入以下按键,均可进入编辑模式,左下角提示 insert(中文为插入) 字样 i ...

蛋黄Yolks ⋅ 昨天 ⋅ 0

大数据入门基础:SSH介绍

什么是ssh 简单说,SSH是一种网络协议,用于计算机之间的加密登录。 如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码...

董黎明 ⋅ 昨天 ⋅ 0

web3j教程

web3j是一个轻量级、高度模块化、响应式、类型安全的Java和Android类库提供丰富API,用于处理以太坊智能合约及与以太坊网络上的客户端(节点)进行集成。 汇智网最新发布的web3j教程,详细讲解...

汇智网教程 ⋅ 昨天 ⋅ 0

谷歌:安全问题机制并不如你想象中安全

腾讯科技讯 5月25日,如今的你或许已经对许多网站所使用的“安全问题机制”习以为常了,但你真的认为包括“你第一个宠物的名字是什么?”这些问题能够保障你的帐户安全吗? 根据谷歌(微博)安...

问题终结者 ⋅ 昨天 ⋅ 0

聊聊spring cloud gateway的RedisRateLimiter

序 本文主要研究下spring cloud gateway的RedisRateLimiter GatewayRedisAutoConfiguration spring-cloud-gateway-core-2.0.0.RELEASE-sources.jar!/org/springframework/cloud/gateway/con......

go4it ⋅ 昨天 ⋅ 0

169. Majority Element - LeetCode

Question 169. Majority Element Solution 思路:构造一个map存储每个数字出现的次数,然后遍历map返回出现次数大于数组一半的数字. 还有一种思路是:对这个数组排序,次数超过n/2的元素必然在中...

yysue ⋅ 昨天 ⋅ 0

NFS

14.1 NFS介绍 NFS是Network File System的缩写 NFS最早由Sun公司开发,分2,3,4三个版本,2和3由Sun起草开发,4.0开始Netapp公司参与并主导开发,最新为4.1版本 NFS数据传输基于RPC协议,RPC...

派派菠菜 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部