Fragment与Activity交互方式使用Bundle

  • 第一步、在Activity获得fragment对象,通过对象.setArguments(bundle)把bundle传过去,bundle对象可以传递参数。
 BundleFragment bundleFragment = new BundleFragment();
        String content = edit.getText().toString();//获取activity用户输入的信息
        Bundle bundle = new Bundle();
        bundle.putString("arg",content);
        bundleFragment.setArguments(bundle);
        FragmentManager sfm = getSupportFragmentManager();//做向下兼容时要用supprotmanager
        FragmentTransaction ft = sfm.beginTransaction();
        ft.replace(R.id.layout_fragment,bundleFragment);
        ft.commit();
}
  • 第二步、在Fragment中通过getArguments()得到Bundle,通过Bundle获取数据,展示在fragment上
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_bundle, container, false);
        TextView tv = (TextView) view.findViewById(R.id.tv_bundle);
        Bundle bundle = getArguments();
        tv.setText(bundle.getString("arg"));
        return view;
    }

你可能感兴趣的:(基础)