Activity与Fragment数据传递之Fragment之间获取数据
2015-07-02 10:33
309 查看
在Activity中加载Fragment的时候,有时要使用多个Fragment切换,并传值到另外一个Fragment,也就是说两个Fragment之间进行参数的传递,有两种实现方法:一种是通过共同的Activity传递、这种方法是在Activity里面添加一个字段、来临时保存要一些值,Fragment的API提供了另外一个方法来传递,就像Activity一样便捷的实现参数传递程序中的一段代码,是通过Bundle来传递的。相比之下第一种方法要简单一点。
Fragment调用方法、需要注意的是在设值的时候要进行强转一下。
在另外一个Fragment获取参数的方式只需要一个语句、key是自己定义的一个标识、参数的形式只要bundle能传递都可以实现。
参考代码:
http://download.csdn.net/detail/u010963246/8861645
法一:在Activity中定义一个字段、然后添加set和get方法、代码如下、mTitle就是要传递的参数、如果是传递对象、可以把mTitle换成一个对象即可。
public class DemoActivity { private String mTitle; public String getmTitle() { return mTitle; } public void setmTitle(String title) { this.mTitle = title; } }
Fragment调用方法、需要注意的是在设值的时候要进行强转一下。
((DemoActivity)getActivity()).getmTitle();
法二:可以使用bundle进行参数传递、这样在两个Fragment跳转的时候就可以带上参数了、同样也可以传递一个复杂的对象。
ft.hide(getActivity().getSupportFragmentManager().findFragmentByTag("")); DemoFragment demoFragment = new DemoFragment(); Bundle bundle = new Bundle(); bundle.putString("key", "这是方法二"); demoFragment.setArguments(bundle); ft.add(R.id.fragmentRoot, demoFragment, SEARCHPROJECT); ft.commit();
在另外一个Fragment获取参数的方式只需要一个语句、key是自己定义的一个标识、参数的形式只要bundle能传递都可以实现。
String string = getArguments().getString("key");
参考代码:
http://download.csdn.net/detail/u010963246/8861645
相关文章推荐
- 保存信息到手机里
- MiniTwitter记住密码等功能实现
- 大概简介
- 武当三丰太极拳28式 第一式 详解版
- sql 使用存储过程传递列名或表名作为参数
- Activity与Fragment数据传递之Fragment之间获取数据 分类: Android 2015-07-02 10:33 11人阅读 评论(0) 收藏
- 线程——委托InvokeRequired和Invoke
- ado.net 基础(一)
- GCD block(一)
- Leetcode|Surrounded Regions
- 深入探究Lua中的解析表达式
- Jquery简单整理
- 地球经纬 度与度分秒格式的转化
- 【LeetCode】211. Add and Search Word - Data structure design
- 织梦dede给文章列表加序号
- 欢迎使用CSDN-markdown编辑器
- 第一次写博客,以后旨在翻译或者转载一些国外的技术文档,加上自己的实验心得,谢谢支持
- ARP请求过程(可用于ip冲突检测)
- 安装两个jdk后eclipse启动不了的一个情况
- GPU:并行计算利器