5

プログラムで 3 レベルのネストされたフラグメントを追加すると、多くのクラッシュの問題が発生します。現在、fragmentManager を介して Fragment A をロードし、A の childFragmentManager を介して Fragment B をロードし、B の childFragmentManager から Fragment C をロードする Activity があります。

フラグメントは最初は問題なくロードされます。しかし問題は、フラグメントが破棄されてから再作成される場合です。フラグメント B が破壊されると、フラグメント C も破壊されると思いますが、フラグメント C はぶら下がっているようです。

現在、フラグメント B はフラグメント A の ViewPager を介して読み込まれます。ページからページへとスワイプすると、次のエラーが発生することがあります。

java.lang.IllegalStateException: Fragement no longer exists for key android:target_state: index 1

式からフラグメント C を削除すると、エラーはなくなります。親のfragmentManager(childFragmentManagerではなく)にすべてのフラグメントをロードしてもクラッシュしません

4

1 に答える 1

2

答えは絶対にイエスです。3つのレベルを持つことができます。私のアプリでそれをうまく使用しています。

于 2013-03-10T21:28:14.387 に答える