Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android中關於FragmentA嵌套FragmentB的問題

Android中關於FragmentA嵌套FragmentB的問題

編輯:關於Android編程

問題描述:

在項目中Activity A中嵌套Fragment B,Fragment B中再嵌套Fragment C,如圖:

問題1:在點擊Activity A中主菜單1進行切換時,報錯Fragment C already added。

解決:在Framgent B中添加Fragment C 調用add()時先判斷fragmentC.isAdded()

FragmentManager fm=getActivity().getSupportFragmentManager();
FragmentTransaction ft=fm.beginTransaction();
if(!sub1Fragment.isAdded()){
  ft.add(R.id.rl_fragment_container, sub1Fragment).commit();
}

問題2:修改後發現,Fragment C布局添加失敗,同時切換主菜單2時,報錯。

解決:這是Fragment的嵌套問題。FragmentB中的嵌套不能再用getActivity().getSupportFragmentManager();要用getChildFragmentManager();

即上面代碼應改為:

FragmentManager fm=getChildFragmentManager(); 
FragmentTransaction ft=fm.beginTransaction(); 
if(!sub1Fragment.isAdded()){ 
  ft.add(R.id.rl_fragment_container, sub1Fragment).commit(); 
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持本站。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved