2016-07-15 53 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