问题:ViewPager
中的 fragment onResume()
在 fragment 实际可见之前被触发。
例如,我有 2 个 fragment ,分别是 ViewPager
和 FragmentPagerAdapter
。第二个 fragment 仅适用于授权用户,我需要在 fragment 可见时要求用户登录(使用警报对话框)。
但是 ViewPager
在第一个 fragment 可见时创建第二个 fragment ,以便缓存第二个 fragment 并在用户开始滑动时使其可见。
所以 onResume()
事件早在第二个 fragment 变得可见之前就在第二个 fragment 中触发了。这就是为什么我试图找到一个在第二个 fragment 可见时触发的事件,以便在适当的时候显示一个对话框。
如何做到这一点?
最佳答案
How to determine when Fragment becomes visible in ViewPager
您可以通过在 Fragment
中覆盖 setUserVisibleHint
来执行以下操作:
public class MyFragment extends Fragment {
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (isVisibleToUser) {
}
else {
}
}
}
关于android - 如何确定 Fragment 何时在 ViewPager 中可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10024739/