android fragement之间互相传递参数
来源:互联网 发布:质数c语言 编辑:程序博客网 时间:2024/06/05 15:52
在Activity中加载Fragment的时候、有时候要使用多个Fragment切换、并传值到另外一个Fragment、也就是说两个Fragment之间进行参数的传递、查了很多资料、找到两种方法、一种是通过共同的Activity传递、这种方法是在Activity里面添加一个字段、来临时保存要一些值。
其实我开始想的是用SharedPreferences,不过想想太麻烦!
然后翻了一下Fragment的API、找到了另外一个方法来传递、就像Activity一样便捷的实现参数传递程序中的一段代码、是通过Bundle来传递的、相比之下第一种方法要简单一点
FRAGMENT参数传递方法一
在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();
FRAGMENT参数传递方法二
可以使用bundle进行参数传递、这样在两个Fragment跳转的时候就可以带上参数了、同样也可以传递一个复杂的对象
<pre name="code" class="java">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");
总结
从上面两种方法看来、方法一要简单一些、但个人觉得有点投机取巧、不过也很合Java的开发规范、如果是同一个Activity中要加载很多Fragment的话、这种方法无疑要简单很多
而方法二是使用了Android的Bundle传递的、这种方法应该更官方一点吧、不过在项目开发中、怎么实现简单就怎么来、也没太多关系
有任何疑问或要获取更多代码、可以在下面进行评论哈
2 1
- android fragement之间互相传递参数
- Activity 与Fragement之间传递值
- struts2的action之间互相传递动态参数
- android activity之间传递参数
- android activity之间传递参数
- android activity之间参数传递
- Android Activity之间参数传递
- Android中Activity之间传递参数
- android Activity之间的参数传递
- Android基础知识_Activity之间传递参数
- Android:Activity之间跳转和参数传递
- android在 Activity 之间传递参数
- Android中Activity之间参数传递
- Android:Activity之间传递参数并跳转
- Android中Activity之间参数传递
- Delphi框架中怎样实现主程序与插件之间的互相调用以及参数传递
- 页面之间传递参数.
- 页面之间传递参数
- android jni 搭建环境
- 一、课程内容
- 免费空间资格申请秘籍
- ON DUPLICATE KEY UPDATE
- Android游戏开发之360°半透明摇杆。。。。
- android fragement之间互相传递参数
- [转]Java中的回车换行符/n /r /t
- RGB颜色对照表
- Android SDK Manager国内无法更新的解决方案
- 【IOS笔试面试】02-内存管理
- SQL Server 和 Oracle 以及 MySQL 有哪些区别?
- Spring基于注解TestContext 测试框架使用详解
- 次短路
- css使用float:right后内容下移换行的问题原因及解决方案