Android中Fragment数据参数传递

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

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

			String args = "hello fragment1";
			FragmentManager fm = ((MainActivity)getActivity()).getFragmentManager();
			Fragment1 fragment1 = new Fragment1();
			FragmentTransaction ft = fm.beginTransaction();
			Bundle bundle = new Bundle();
			bundle.putString("key",args);
			fragment1.setArguments(bundle);
			ft.replace(R.id.layout_fl, f1);
			ft.addToBackStack(null);
			ft.commit();


 
  

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

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

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

在fragment1中编写代码

	String args = getArguments().getString("key");
这样很简单就把bundle中的字符串取了出来

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



你可能感兴趣的:(Android中Fragment数据参数传递)