ANDROID FRAGMENT传递参数_FRAGMENT之间传值的两种方法
来源:互联网 发布:java sql盲注解决方案 编辑:程序博客网 时间:2024/04/29 05:11
原文链接:http://dwtedx.com/itshare_296.html
首先说一下Activity和Fragment之间传递参数
当 Fragment 跟 Activity 绑定之后,在 Fragment 中可以直接通过 getActivity()方法获取到
其绑定的 Activity 对象,这样就可以调用 Activity 的方法了。在 Activity 中可以通过如下方法获取到
Fragment 实例
FragmentManager fragmentManager = getFragmentManager();
Fragment fragment = fragmentManager.findFragmentByTag(tag);
Fragment fragment = fragmentManager.findFragmentById(id);
获取到 Fragment 之后就可以调用 Fragment 的方法。也就实现了通信功能。
在Activity中加载Fragment的时候、有时候要使用多个Fragment切换、并传值到另外一个Fragment、也就是说两个Fragment之间进行参数的传递、查了很多资料、找到两种方法、一种是通过共同的Activity传递、这种方法是在Activity里面添加一个字段、来临时保存要一些值
翻了一下Fragment的API、找到了另外一个方法来传递、就像Activity一样便捷的实现参数传递程序中的一段代码、是通过Bundle来传递的、相比之下第一种方法要简单一点
RAGMENT参数传递方法一
在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参数传递方法二
可以使用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");
总结
从上面两种方法看来、方法一要简单一些、但个人觉得有点投机取巧、不过也很合Java的开发规范、如果是同一个Activity中要加载很多Fragment的话、这种方法无疑要简单很多
而方法二是使用了Android的Bundle传递的、这种方法应该更官方一点吧、不过在项目开发中、怎么实现简单就怎么来、也没太多关系
- Android Fragment传递参数_Fragment之间传值的两种方法
- ANDROID FRAGMENT传递参数_FRAGMENT之间传值的两种方法
- ANDROID FRAGMENT传递参数_FRAGMENT之间传值的两种方法
- fragment之间的参数传递
- Fragment之间参数的传递
- Android开发之Fragment传递参数的几种方法
- Android开发之Fragment传递参数的几种方法
- Android中Fragment之间的通信和参数传递
- Android fragment 之间传值的方法
- Fragment之间传递参数
- android中传递复杂参数,activity之间和fragment之间的bundle传递集合/对象
- android中传递复杂参数,activity之间和fragment之间的bundle传递集合/对象
- android中传递复杂参数,activity之间和fragment之间的bundle传递集合/对象
- Fragment和Activity之间的数据传递(两种:Acitvity-->Fragment;Fragment---->Activity)
- 两个Fragment之间参数的传递
- 两个Fragment之间参数的传递 .
- 两个Fragment之间参数的传递
- 两个Fragment之间参数的传递
- setOnEditorActionListener,回车键回调(我们可以修改)
- 开源集锦(九)GitHub开源控件( Button)
- JDOM 操作XML
- AsyncTask的doInBackground方法延迟执行的问题
- 【C++】学习笔记六——String类
- ANDROID FRAGMENT传递参数_FRAGMENT之间传值的两种方法
- c++笔记(11):异常处理
- 创建CHM格式电子书
- C# 多线程参数传递
- 性能优化之MySQL优化(二)- explain分析SQL
- OOM优化与Fresco图片加载框架
- 国内外BI/报表工具
- 5.6 枚举类型
- scipy csr_matrix和csc_matrix函数详解