2

親フラグメント内に 2 つのフラグメントがあります。親フラグメントで、OnCreateView()これらのフラグメントを 経由で表示しようとしていreplace(int, Fragment)ます。私が理解しているように、FragmentTransaction#commit()非同期で呼び出されています。

そのため、ユーザーがすぐに戻るボタンを押すと、システムは親フラグメントを破棄し ( onPause()onStop()onDestroyView()、 を呼び出しますonDestroy())、非同期置換タスクは失敗します。親ビューは破棄され、システムは " IllegalArgumentException : No view found for fragment MyFragment" をスローします。サポート ライブラリを使用します。

では、どうすればこのケースを管理できますか? どんな助けでも大歓迎です。

4

1 に答える 1

1

問題を解決しました。ネストされたフラグメントgetChildFragmentManager()には、 の代わりに使用する必要がありgetFragmentManager()ます。ChildFragmentManager親フラグメントのライフサイクルを追跡し、親フラグメントが破棄される場合はスケジュールされたコミットをキャンセルするようです。

于 2013-07-30T20:54:52.703 に答える