Android系统。活动与片段之间的数据

时间:2017-11-06 14:14:18

标签: android

从活动中获取数据到片段的最佳做法是什么?

  • 将一个包作为参数传递
  • 使用返回数据的公共方法从片段访问活动中的数据

1 个答案:

答案 0 :(得分:1)

传递来自此活动的数据

Bundle bundle = new Bundle();
bundle.putString("name", name);
bundle.putString("address", address);
FragmentA fragmentA = new FragmentA();
fragmentA.setArguments(bundle);

并在Fragment A onCreateView方法中检索它:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
    Bundle savedInstanceState) {   
    return inflater.inflate(R.layout.fragment, container, false);
    String name = getArguments().getString("name");    
    String address = getArguments().getString("address"); 
}

编辑

如果片段已经加载,那么你可以这样做(使用当前的实现)

像这样发送数据

PassDataToFragment fragA = (PassDataToFragment) getSupportFragmentManager().findFragmentById(R.id.container); // Change the id as per yours
fragA.passDataToFragment(name, address);

您将在片段A中的passDataToFragment()中获取数据。