ネストされたフラグメントを使用するアプリケーションを構築しています。フラグメントの最初のレイヤーはアニメーションメニューで、1つのフラグメントがメニューで、もう1つのフラグメントがコンテンツです。一部のコンテンツフラグメントには、フラグメント(子フラグメント)も含まれます。ただし、フラグメントの最初のレイヤーでフラグメントスタックをポップしないように戻るボタンを無効にします。
子フラグメントを操作するために戻るボタンを正常に委任しました。トップレベルのフラグメントについては、作成されている場合は再利用したいので、フラグメントをハッシュに保存し、新しいフラグメントが追加されたら、現在のフラグメントをremove()してから、新しいフラグメントでreplace()を実行します。ビューが更新されます。addToBackStackを呼び出すことはありません。ただし、以前に作成されたフラグメント(ハッシュに保存されている)に戻ろうとすると、次のエラーが発生します。
java.lang.IllegalStateException: No activity
ただし、getChildFragmentManager()が再追加されたネストされたフラグメントから呼び出された場合のみ。私は一生の間、その理由を理解することはできません。なにか提案を?