@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (getUserVisibleHint()) {
isVisible = true;
onVisible();
} else {
isVisible = false;
onInVisible();
}
}
我发现这部分代码没有执行。
最佳答案
他们只是在Fragments中更改了API。
如果使用此方法限制片段生命周期:
现在,您可以通过调用设置片段的最大生命周期状态
FragmentTransaction上的setMaxLifecycle()。这取代了现在
不建议使用setUserVisibleHint()。
资料来源:https://developer.android.com/jetpack/androidx/releases/fragment#1.1.0-alpha07。
如果需要此方法,因为您尝试检测当前在ViewPager
中可见的片段。现在,您可以只使用onResume
和onPause
方法,但是在此之前,您应该更改FragmentPagerAdapter
构造函数中的默认行为。
像这样:
FragmentPagerAdapter(fragmentManager, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT)