(转)Activity与Fragment之间传递参数
来源:互联网 发布:淘宝虚拟店铺赚钱吗 编辑:程序博客网 时间:2024/05/01 21:45
原地址:http://www.tuicool.com/articles/VjyU7n
在Activity中加载Fragment的时候需要传值到另Fragment,也就是说Activityg与Fragment之间进行参数的传递,可以使用bundle进行参数传递,看代码:
在activity中获取fragment中的数据
public class SaleQuoteActivity extends BaseActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.other_main);//在activity中获取相对应的fragment中的数据getSupportFragmentManager().beginTransaction().replace(R.id.detail_contain, SaleQuoteFragmentV2.newInstance(getIntent().getStringExtra(ConstantsRoseFashion.KEY_P_ID))).commit();}//@DebugLog@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);}}在上面的代码中我们看到了activity在获取fragment中的数据时调用了fragment的newInstance()这个方法,那么下面我们来看看在这个方法中我们做了哪些事情呢
public static SaleQuoteFragmentV2 newInstance(String pid) {//通过Bundle保存数据Bundle args = new Bundle();args.putString(ConstantsRoseFashion.KEY_P_ID, pid);SaleQuoteFragmentV2 fragment = new SaleQuoteFragmentV2();//将Bundle设置为fragment的参数fragment.setArguments(args);return fragment;}
从这个方法中我们可以看到在Fragment中我们把需要传递的数据通过Bundle保存起来并且将这个Bundle设置成Fragment的参数,然后将这个Fragment对象返回,这样我们在Activity中就通过newInstance()这个方法取到了Fragment对象。
上面讲了怎样将Fragment中的数据传递到Activity当中,下面来看一下在Fragment中是如何取到从Activity中传递过来的数据的,其实非常的简单,看下面的码:
String pid = getArguments().getString(ConstantsRoseFashion.KEY_P_ID);
就这么一句话就可以了,非常简单吧!
上面说的都是传递的基本数据类型的数据,那么怎么传递一个Java Bean对象呢?
接着看下面的代码吧:
Intent intent = new Intent(context, GlobalPriceActivity.class);intent.putExtra(ConstantsRoseFashion.KEY_DATA, data != null ? new Gson().toJson(data) : null);context.startActivity(intent);在这里我是通过Gson将这个Java Bean转换成一个gson字在这里我是通过Gson将这个Java Bean转换成一个gson字符串传递到Activity中的,然后从Activity传递到Fragment中,这个上面说过了在这里就不重复了,下面看看我们在Fragment中是如何将这个gson字符串转成一个Java Bean的
String json = getArguments().getString(ConstantsRoseFashion.KEY_DATA);singleGoods = new Gson().fromJson(json, SingleGoods.class);当然在转换前要定义好这个Java Bean,这个我就不多说了,大家可以自己去试试。
0 0
- (转)Activity与Fragment之间传递参数
- Fragment与Activity之间传递数据
- Android-Activity与Fragment之间传递数据
- Fragment与Activity之间传递数据
- Fragment与Activity之间数据传递
- Fragment 与 Activity之间传递数据
- fragment与Activity之间的数据传递
- Fragment与Activity之间的数据传递
- Activity与fragment之间数据传递方法
- fragment与Activity之间数据的传递
- Activity与fragment之间传递数据
- Fragment与Activity相互传递参数
- Fragment之间传递参数
- Activity与Fragment数据传递之Fragment之间获取数据
- Activity与Fragment数据传递之Activity之间获取数据
- android开发fragment、Activity与Activity之间的值传递
- Android Fragment之间参数传递通过Activity中的变量
- 两个Activity中的Fragment之间的参数传递
- c++ string的运用
- 蓝桥杯模拟赛:报数游戏(vector解决约瑟夫环)
- iOS——UIProgressView
- 【SSH网上商城项目实战30】项目总结(附源码下载地址)
- hadoop初学-WordCount
- (转)Activity与Fragment之间传递参数
- LCT裸题-[BZOJ2049][Sdoi2008]Cave 洞穴勘测
- 入门训练 Fibonacci数列
- 大数据IMF传奇行动绝密课程第94课:SparkStreaming实现广告计费系统中在线黑名单过滤实战
- UVA
- 2017-04 JS笔记
- 字符串对象常用方法
- (4)建造者模式
- win10 64位 Python 安装matplotlib 过程记录