onSaveInstanceState の後でエラー

画面が回転した後で、Activity Fragment の入れ替えを実行すると、FragmentTransaction の commit()
以下のように Exception を起こして停止してしまう。

04-06 18:29:51.377: E/AndroidRuntime(18828): java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
04-06 18:29:51.377: E/AndroidRuntime(18828): at android.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:1265)
04-06 18:29:51.377: E/AndroidRuntime(18828): at android.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:1276)
04-06 18:29:51.377: E/AndroidRuntime(18828): at android.app.BackStackRecord.commitInternal(BackStackRecord.java:541)
04-06 18:29:51.377: E/AndroidRuntime(18828): at android.app.BackStackRecord.commit(BackStackRecord.java:525)


画面の回転で、Fragment の状態を保持させたく Fragment onCreateで setRetainInstance(true) などを
実行していたのだが、onSaveInstanceState が実行された後では Activity から実行すると、
この例外になってしまう。

幸い同じ画面構成の中に別のFragment の中で任意のFragment 入れ替えの処理を組んでいたので、
別のFragment の中で入れ替えの処理のメソッド参照を用意して、
Activity から、findFragmentById で呼んで実行するようにして回避した。