Activity中加载不同的fragment  / Fragment中加载不同的fragment

 

主Activity中加载(切换)多个fragment(也可以理解为activity跳转fragment)或主fragment中加载(切换)多个fragment

 

  •  Activity布局中要有一个fragment布局空间,比如id名为main_ FrameLayout

  • 写两个fragment类继承自fragment,比如

fragmentaextends Fragment (这个里面加载你的view和写你在这个fragment中的事件)

fragmentb  extends Fragment(同理)

注意:view =inflater.inflate(R.layout. fragmenta_layout, container, false);这句话一定要紧挨在oncreatview方法下面!,不然报错你半天还找不到,我当时就是半天找不到!!

  • 在主Activity的点击事件(触发事件)中比如你想点击A这个按钮加载fragmenta

执行下面代码

fragmenta   fm1=new fragmenta ();

FragmentManagerFM = getSupportFragmentManager();

  1. FM.beginTransaction().replace(R.id.main_FrameLayout, fm1).commit();

4) 按钮B.C等等同理,这样就可以实现在一个Activity页面加载不同的fragment,或者从一个Activity跳转到不同的fragment

 

fragmentActivity

1) Fragmentactivity跳转即为普通intent跳转

2) 在当前fragment页面执行下面代码:

3) Intent intent = new Intent(getActivity(),MainActivity.class);

 

 

fragmentfragment

  • 如果两个fragment依赖于一个Activity,比如壹的情况,则可以用切换的方法

  • @Override//核心代码

  •  2    public void onClick(View v) {


  •  3        //获取fragment的实例

  •  4        Fragment fragment=new Fragment();

  •  5        //获取Fragment的管理器

  •  6        FragmentManager fragmentManager=getFragmentManager();

  •  7        //开启fragment的事物,在这个对象里进行fragment的增删替换等操作。

  •  8        FragmentTransaction ft=fragmentManager.beginTransaction();

  • 9         //跳转到fragment,第一个参数为所要替换的位置id,第二个参数是替换后的fragment

  • 10        ft.replace(R.layout.fragment1_layout,fragment);

  • 11         //提交事物

  • 12         ft.commit();

  • 13     }

 

2) 如果两个fragment依赖于不同的activity,那就直接avticity跳转。