

`ViewPager`の持っている`Fragment`から子`Fragment`を乗せた場合に親の`onActivityCreated()`がローテートを切り替える都度複数回コールされてしまいます。

構成は以下のような感じです  
Activity  
→ViewPager  
→FragmentA  
→FragmentB  
→FragmentC  
@Override

以下FragmentB抜粋

[code]

    public View onCreateView(final LayoutInflater inflater, final ViewGroup container, final Bundle savedInstanceState) {
        （省略）
        final FragmentManager fm = getFragmentManager();
        final FragmentTransaction ft = fm.beginTransaction();
        final Fragment fragment = fm.findFragmentByTag("FRAGMENT_C");
        if (savedInstanceState == null) {
            ft.replace(R.id.c_fragment, CFragment.getInstance(), "FRAGMENT_C").commit();
        }
        return view;
    }
    
[/code]

以下のようなコードです。

どうしたら回避できるでしょうか？

FragmentCを追加する一連のコードを削除した場合FragmentBのライフサイクルは通常通り動いています。


CC BY-SA 3.0
2015-03-18T11:23:52.470
8073
2015-03-18T11:23:52.470
8403
question
android android-fragments
子のfragmentのライフサイクルが期待しない動作をしている