如何防止 Android FragmentStatePagerAdapter 创建相邻片段

How to Prevent Android FragmentStatePagerAdapter from Creating Neighboring Fragments

我正在创建一个 Android 应用程序,并且我已将 FragmentStatePagerAdapter 链接到我的 Activities 中的一个 TabBar 以允许用户从 FragmentFragment。此 Activity 中的每个 Fragment 都由 REST 调用填充,如果失败,将弹出一个 Dialog 提示您应该尝试刷新您的信息(仅在您第一次查看时Fragment)。我遇到的问题是,由于 FragmentStatePagerAdapter 为您当前所在的 Fragment 创建了相邻的 Fragments,它正在创建所述 [=21] 的 Dialog(s) =] 过早(例如,如果您在 Fragment 3,而 Fragment 4 提示 Dialog,它将显示在 Fragment 3 而不是 Fragment 4)。有没有办法使用 FragmentStatePagerAdapter 关闭相邻 Fragments 的创建?

谢谢!

您可以通过调用setOffscreenPageLimit来控制该区域创建的相邻片段的数量,但最小值为1。

我不会在片段 onCreateView 中创建对话框,而是 setUserVisibleHint。这样,只有当您确定用户在页面上时才会创建对话框。

不,我认为你不能,虽然有一个 属性 用于查看寻呼机

  viewpager.setOffscreenLimit(0) //defaults to 1

但您可以尝试其他一些解决方案

  1. 在 onResume() 中显示对话框;
  2. 在 Acitvity 中创建一个接口并启动它在 Fragment 中的实现

    tab.setOntabselected{

    已选择页数(页码)

}