2016-07-15 49 views
0

enter image description here從其子片段

更換主要碎片我試圖從MainFragmentChildFragment與其他Fragment更換MainFragment。我使用的這部分代碼:

android.support.v4.app.FragmentManager fragmentManager = getFragmentManager(); 
        Fragment fragment = null; 
        fragment = MainFragment2.class.newInstance(); 
        fragmentManager.beginTransaction().replace(R.id.flContent, fragment).commit(); 
        fragmentManager.executePendingTransactions(); 

問題是,MainFragment GET的破壞和更換是成功的,但問題是MainFragmentChild永遠不會破壞孩子的方法(銷燬,暫停,停止..)從來沒有所謂的(我需要這些方法)。他們仍然在內存中,當在Activities之間獲取App OnResume()方法的子片段被調用。奇怪。我在這裏做錯了什麼?主活動

class Activity exteds... implements MainNavigation 
     public void replaceFragment() { 
      //Replace fragment here. 
     } 

所使用本次活動的所有孩子的

interface MainNavigaton { 

    void replaceFragment(); 
} 

回答

0

創建界面

private MainNavigation mainNav; 
    public void onAttach(Context context) { 
     mainNav = (MainNavigation) context; 
    } 

更換你想要的片段。

action.onClickListner(new View.OnCLickListneer() { 
     mainNav.replaceFragment(); 
    } 
+0

爲什麼這種方法會破壞孩子,但是調用孩子的替代方法卻不行? – Sasamannn91