Android中Fragment数据参数传递

在项目中,很多时候我们需要在一个Fragment直接跳转到另一个Fragment,并携带一些数据过去,下面写出一种比较容易理解的方法。

现在我们准备从fragment2跳转到fragment1,并把一个数据带给fragment1

<pre name="code" class="java"><span style="font-family:Microsoft YaHei;font-size:14px;">			String args = "hello fragment1";</span>
<span style="font-family:Microsoft YaHei;font-size:14px;"><span style="white-space:pre">			</span>FragmentManager fm = ((MainActivity)getActivity()).getFragmentManager();
			Fragment1 fragment1 = new Fragment1();
			FragmentTransaction ft = fm.beginTransaction();
			Bundle bundle = new Bundle();
			bundle.putString("key",</span><span style="font-family:Microsoft YaHei;font-size:14px;">args)</span><span style="font-family: 'Microsoft YaHei';">;</span><span style="font-family:Microsoft YaHei;font-size:14px;">
			fragment1.setArguments(bundle);
			ft.replace(R.id.layout_fl, f1);
			ft.addToBackStack(null);
			ft.commit();</span>


 

上面的代码我们是编写在fragment2中的,这两个fragment都依附在同一个Activity上,拿到FragmentMangner,new出来要跳转的对象,也就是fragment1,之后开启事物。

调用fragment1.setArguments(bundle);方法,就把数据传递给了fragment1

现在我们来看,如何在fragment1中取出数据

在fragment1中编写代码

<span style="font-family:Microsoft YaHei;font-size:14px;"><span style="white-space:pre">	</span>String args = getArguments().getString("key");</span>
这样很简单就把bundle中的字符串取了出来

很多人出现空指针异常的错误,这时候你就要判断是否你的设置数据是否在取出数据之前,建议你做一个bundle是否为null的判断吧~



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值