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");
当然我们最好还需要判断下获取的值是不是为空,因为有可能在没有网络的时候没有从服务器获取到数据,这里就会接受不到。









原文地址:https://www.cnblogs.com/zhaoleigege/p/4828898.html