15

一部のフラグメント内にあるビューページャーに問題があります。ビュー ページャーを操作するには、FragmentPagerAdapter を使用しています。そして 、アプリを実行しようとすると、java.lang.IllegalStateException: Recursive entry to executePendingTransactions例外が発生することを確認してください。

ほとんどの人は FragmentPagerAdapter を他のフラグメント内に持つことは不可能だと言っているので、この質問が無効である場合は申し訳ありません。誰かがこの問題とその解決策について新鮮なアイデアを持っていることを願っていました.

PS AsyncTask 内にアダプターを設定するというアドバイスがあります (必要に応じてこのケースを明確にすることができます) が、このソリューションにはそのようなフラグメント状態の復元に関連するいくつかのバグがあるため、私にとってはうまくいきます。

4

1 に答える 1

27

Android 4.2 以降では、ネストされたフラグメントを使用できます。Android サポート ライブラリには、この のサポートも含まれるようになったため、古いバージョンの Android で使用できます。

基本的なパターンは次のようになります。

Fragment videoFragment = new VideoPlayerFragment();
FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
transaction.add(R.id.video_fragment, videoFragment).commit();
于 2012-11-14T13:25:54.290 に答える