两个Fragment之间参数的传递

使用Fragment的时候可能需要在两个Fragment之间进行参数的传递,开始想着可以使用SharedPreferences进行处理,想想这些简单的参数没有必要使用这么麻烦的方式去实现,翻了一下Fragment的API,找到一个方法就能实现像Activity一样便捷的实现参数传递 程序中的一段代码

[java]  view plain  copy
  1. ft.hide(getActivity().getSupportFragmentManager().findFragmentByTag(“”));  
  2.                 SearchProjectFragment sf = new SearchProjectFragment();  
  3.                 Bundle bundle = new Bundle();  
  4.                 bundle.putString("key", Projsid);  
  5.                 sf.setArguments(bundle);  
  6.                 ft.add(R.id.fragmentRoot, sf, SEARCHPROJECT);  
  7.                 ft.addToBackStack(SEARCHPROJECT);  
  8.                 ft.commit();  

   可以使用bundle进行参数传递,这样在两个Fragment跳转的时候就可以带上参数了,在另外一个Fragment获取参数的方式只需要一个语句String string = getArguments().getString("key");  key是自己定义的一个标识,参数的形式只要bundle能传递都可以实现

     这个原理好像是和Activity是一样的。我这里传递的是一个关键字,从一个搜索Fragment页面跳转到两外一个结果查询的Fragment页面,在跳转的时候也可以加上一些动画的跳转效果

[java]  view plain  copy
  1. ft.setCustomAnimations(R.anim.slide_in_right, R.anim.slide_out_left, R.anim.slide_in_left, R.anim.slide_out_right);  

第一段代码是写在当前的fragment的,sf是下一个fragment,在下一个fragment里直接通过String string = getArguments().getString("key"); 就可以取到第一个sf.setArguments(bundle); 设置的参数了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值