怒りのプログラミング

こんなポンコツがプログラマとして生活していることに驚きを禁じえません。 *ご指摘等あればお気軽にコメントください

ネストしたFragmentのライフサイクル管理

ネストしたFragmentのライフサイクル管理をどうするか?

例えば、FragmentTabHost+ViewPager+ViewPager内に表示するFragment(他にはどんなのがあるかな?)というような構成だと、FragmentTabHostでタブを切り替えた時にViewPager内に表示するFragmentのインスタンスを破棄したくないとき。

FragmentManagerでFragmentを切り替えるとき、インスタンスを破棄する切り替え方はattach<->detach、裏で生かしておく切り替え方はshow<->hide。でも、FragmentTabHostだとタブ(Fragment)切り替え時にattach<->detachで行っている(多分。ここをshow<->hideでやってもらう方法が無いような気がする)。

また、FragmentTabHostとTabHostで何が違うかと言えば、FragmentTabHostはコンストラクタでFragmentManagerを引数に取り、Fragmentの管理を勝手にやってくれる。

ということで、FragmentTabHostにFragmentの管理を任せるんじゃなくて、TabHost+FragmentManagerで自分でFragmentの管理をすればよいのかな。そこでshow<->hideすると。

まだ理解が足りないところがある。Fragmentは難しいなー。