FragmentLifecycleManager.registerFragmentShowCallbacks(new FragmentLifecycleManager.FragmentShowLifecycleCallbacks() {
@Override
public void onResumeShowed(Fragment f, boolean lifecycle) {
//lifecycle:这次回调是否来自生命周期
Log.d("---->", "显示在最前");
}
@Override
public void onPauseShowed(Fragment f, boolean lifecycle) {
Log.d("---->", "处于不显示");
}
});
@Override
protected void onDestroy() {
super.onDestroy();
FragmentLifecycleManager.unregisterFragmentShowCallbacks();
}
viewpager.setAdapter
后注册回调
FragmentPageManager.registerFragmentShowLifecycle(getSupportFragmentManager(), viewpager);
如果是ViewPager
+Fragment
,Fragment里还有ViewPager
+Fragment
,先Activity中的viewpager.setAdapter
后注册回调
FragmentHelper.registerChildFragmentLifecycle(NestingFragment.this, viewPager);
再在Fragment中手动回调子Fragment
@Override
public void onResumeShow(boolean lifecycle) {
FragmentPageManager.notifyCurrentResumeShow(viewPager);
}
@Override
public void onPauseShow(boolean lifecycle) {
FragmentPageManager.notifyCurrentResumeShow(viewPager);
}
在Fragment实现FragmentLifecycle
,即会回调onResumeShow
和onPauseShow
@Override
public void onResumeShow(boolean lifecycle) {
Log.d("---->", "显示在最前");
}
@Override
public void onPauseShow(boolean lifecycle) {
//lifecycle:这次回调是否来自生命周期
Log.d("---->", "处于不显示");
}