すわりんのブログ

androidとかサブカルとかのブログです

ViewPagerにはchildFragmentManagerを使おう

Fragmentの中にViewPagerを設置して ViewPagerにFragmentPageAdapterをセットする という実装をやっていた。

こんなイメージ f:id:suwashimizu:20171020092456p:plain

でFragmentPageAdapter生成時にFragmentManagerを渡すんだけど

FragmentPageAdapter(fragmentManager:FragmentManager)

FragmentのfragmentManagerを渡すと 最初はちゃんと表示される。 しかしViewPagerを持ったFragmentをreplaceなどして 再度表示すると真っ白な画面になってしまう。

FragmentのchildFragmentManagerを渡せば解決しました。 childFragmentManagerの深追いが必要そう。

まだまだハマることが多いAndroidでした。

[所要時間:15分]

追記:MasterOfFragmentに同様な事が書いてあった(Fragment In Fragmentについて)。やっぱ神書だわ