Fragmentの本当のonPauseとonResume
1368 ワード
Fragment
にはonResume()
とonPause()
の方法がありますが、この2つの方法はActivity
の方法で呼び出しタイミングもActivity
と同じで、ViewPager
と組み合わせてこの方法を使うととても腹立たしくて、まったくあなたが望んでいる効果ではありません.ここで1つの方法を紹介します.@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (isVisibleToUser) {
// Fragment onResume
} else {
// Fragment onPause
}
}
ViewPager
とPageAdapter
に関連するコードを読むことによって、Fragment
を切り替えることは、実際にはsetUserVisibleHint
とsetMenuVisibility
を設定することによって実現され、この方法を呼び出すときにFragment
を解放することはありません(すなわち、onDestoryViewは実行されません).