私も同じ問題を抱えてる。
アクティビティでは、transaction.replace(...)でフラグメントを切り替えるための3つのボタンがあります
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.replace(R.id.layout_tablet_paneau, mLigneMessageFragment);
このフラグメントの1つには、カスタムFragmentPagerAdapterを含むViewPageが含まれています。したがって、ネストされたフラグメントを許可するには、getChildFragmentManager()を実行する必要があります。
コンストラクターはここにあります:
public LignePagerAdapter(Fragment ligneMessageTabletFragment) {
super(ligneMessageTabletFragment.getChildFragmentManager());
}
したがって、同じエラーが発生します。このフラグメントの最初の表示は機能しませんが、他のフラグメントを表示してこのフラグメントに戻ると、次の例外が発生します。
02-26 11:57:50.798:D / ACRA(776):トースト+ワーカーが終了するのを待ちます。アプリケーションを強制終了しますか?true
02-26 11:57:50.798:E / AndroidRuntime(776):致命的な例外:メイン
02-26 11:57:50.798:E / AndroidRuntime(776):java.lang.IllegalStateException:アクティビティなし
02-26 11:57:50.798:E / AndroidRuntime(776):android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1075)
02-26 11:57:50.798:E / AndroidRuntime(776):android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1070)
02-26 11:57:50.798:E / AndroidRuntime(776):android.support.v4.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManager.java:1861)
02-26 11:57:50.798:E / AndroidRuntime(776):android.support.v4.app.Fragment.performActivityCreated(Fragment.java:1474)
02-26 11:57:50.798:E / AndroidRuntime(776):android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:931)
02-26 11:57:50.798:E / AndroidRuntime(776):android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1088)
02-26 11:57:50.798:E / AndroidRuntime(776):android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)
02-26 11:57:50.798:E / AndroidRuntime(776):android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1444)
02-26 11:57:50.798:E / AndroidRuntime(776):android.support.v4.app.FragmentManagerImpl $ 1.run(FragmentManager.java:429)
02-26 11:57:50.798:E / AndroidRuntime(776):android.os.Handler.handleCallback(Handler.java:587)で
02-26 11:57:50.798:E / AndroidRuntime(776):android.os.Handler.dispatchMessage(Handler.java:92)
02-26 11:57:50.798:E / AndroidRuntime(776):android.os.Looper.loop(Looper.java:132)
02-26 11:57:50.798:E / AndroidRuntime(776):android.app.ActivityThread.main(ActivityThread.java:4126)
02-26 11:57:50.798:E / AndroidRuntime(776):java.lang.reflect.Method.invokeNative(ネイティブメソッド)
02-26 11:57:50.798:E / AndroidRuntime(776):java.lang.reflect.Method.invoke(Method.java:491)で
02-26 11:57:50.798:E / AndroidRuntime(776):com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:844)
02-26 11:57:50.798:E / AndroidRuntime(776):com.android.internal.os.ZygoteInit.main(ZygoteInit.java:602)
02-26 11:57:50.798:E / AndroidRuntime(776):dalvik.system.NativeStart.main(ネイティブメソッド)
02-26 11:57:52.818:I / dalvikvm(776):threadid = 4:シグナル3に反応
02-26 11:57:52.818:I / dalvikvm(776):スタックトレースを「/data/anr/traces.txt」に書き込みました
したがって、フラグメントの同じインスタンスを配置する代わりに、これを再作成して問題を修正することはできますが、効率的ではないようです。
transaction.replace(R.id.layout_tablet_paneau, LigneMessageTabletFragment.newInstance());