Fragment的传值,使用,事务,Add和Replace

来源:互联网 发布:智能数据营销 编辑:程序博客网 时间:2024/05/22 13:59

ViewPager+Fragment的使用

1.ViewPager的数据源要改成List<Fragment>

2.ViewPager的适配器使用FragmentPagerAdapter这个抽象类

  Fragment的实例化可以直接new出来

                   //传值  直接调用这个方法 就可以通过bundle 传值

public static Fragment getText(String str){    Fragment fragment02= new Fragment02();    Bundle bundle = new Bundle();    bundle.putString("a",str);    fragment02.setArguments(bundle);    return fragment02;}@Overridepublic void onActivityCreated(@Nullable Bundle savedInstanceState) {    super.onActivityCreated(savedInstanceState);    Bundle arguments = getArguments();    String a = arguments.getString("a");    tv2.setText(a);}
     Fargment1向Fragment2传值

Fargment1设置button的点击事件 点击加载Fragment2


Fargment1定义一个接收Fragment1传过来值的方法  主要就是通过传参的方式 来传值


接收的值传入bundle通过setArguments将bundler发送 ,可以在onActivityCrated这个方法中接收(生命周期顺序)


onActivityCrated中getArguments得到bundle  设置文本值


使用回退栈操作时最好用replace


FragmentTransaction介绍

每一个事务都是同时要执行的一套变化,可以在一个给定的事务中设置你想要执行的所有变化,使用add(),remove(),

,relace()等。

在调用commit()提交之前,要调用回退栈addToBackStack(),将事务添加到一个Fragment事务的backStack(),这个BackStack()由Activity管理,允许他的使用者返回上一级状态