2016-07-15 52 views
0

enter image description hereその子断片

からメインフラグメントを交換私はMainFragmentChildFragmentから他のFragmentMainFragmentを交換しようとしています。私は(と呼ばれることはありません(..破壊し、一時停止、停止)

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取得者が破壊と交換で成功しているが、問題はMainFragmentChildでは破壊されないと、子のメソッドを取得します決して:私は、このコードの一部を使用してそれらの方法が必要です)。それらはメモリに残っており、Activitiesの間になると、子フラグメントのApp OnResume()メソッドが呼び出されます。奇妙な。私はここで間違っていますか?

答えて

0

インターフェースを作成します。

interface MainNavigaton { 

    void replaceFragment(); 
} 

を主な活動

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

このアクティビティを使用するすべてのチャイルズ上:

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

が希望のフラグメントを交換してください。

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

なぜこのアプローチは子供を破壊するのですか? – Sasamannn91