安卓fragment跳轉activity,fragment跳轉fragment,activity跳轉fragment

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跳轉。

 

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章