我有三个片段,我用三个Toolbar
按钮切换。当我从第一个片段转到第二个片段onPause()
或onStop()
时,方法未被调用,并且android看到该片段仍在运行,我想,但是当我从第一个片段转到第三个时,会调用它们。我希望在从第一到第二之后调用它,所以当我回到第一时我可以调用onResume()函数片段,所以我可以触发一些功能。是什么导致它,我该如何解决?
答案 0 :(得分:2)
Fragment的LifeCycle方法( onPause()和 onStop()等)取决于Activity的生命周期方法。
这意味着如果您的活动的 onPause()和 onStop()被调用,那么您的片段 onPause()和 onStop()将被调用
如果您想通知您的片段它是否可见,那么您可以使用。
在片段中覆盖此方法。
@Override
public void setUserVisibleHint(boolean isVisibleToUser)
{
super.setUserVisibleHint(isVisibleToUser);
if (visible)
{
// Control will be here if fragment is visible.
//Do whatever you want.
}
}
答案 1 :(得分:1)
这些是ViewPager中的片段。所以,在停止或暂停时不会打电话 片段中有一个名为
的接口 @Override
public void setMenuVisibility(final boolean visible) {
super.setMenuVisibility(visible);
if (visible) {
// ...
}
}
使用这种方法你可以了解片段的可见性 否则你可以使用setOffscreenPageLimit(value); 示例
mViewPager.setOffscreenPageLimit(1);