android Fragment的数据传递
Bundle传递参数
Fragment1 fragment1 = new Fragment1();
Bundle bundle = new Bundle();
bundle.putString("name", "张三");
fragment1.setArguments(bundle);
FragmentManager fm = getFragmentManager();
FragmentTransaction transaction = fm.beginTransaction();
transaction.addToBackStack(null);
transaction.add(R.id.content,fragment1);
transaction.hide(HomeFragment.this);
transaction.commit();
这里需要注意的是,一定要现有Fragment在去使用Bundle传递参数。
接受参数就相对比较简单了,一半的时候会考虑在Fragment的onAttach生命周期里面去接受。
代码如下:
Bundle arguments = getArguments();
String name = arguments.getString("name");
当然我们最好还需要判断下获取的值是不是为空,因为有可能在没有网络的时候没有从服务器获取到数据,这里就会接受不到。