如何防止 Android FragmentStatePagerAdapter 创建相邻片段
How to Prevent Android FragmentStatePagerAdapter from Creating Neighboring Fragments
我正在创建一个 Android 应用程序,并且我已将 FragmentStatePagerAdapter
链接到我的 Activities
中的一个 TabBar
以允许用户从 Fragment
到 Fragment
。此 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
但您可以尝试其他一些解决方案
- 在 onResume() 中显示对话框;
在 Acitvity 中创建一个接口并启动它在 Fragment 中的实现
tab.setOntabselected{
已选择页数(页码)
}
我正在创建一个 Android 应用程序,并且我已将 FragmentStatePagerAdapter
链接到我的 Activities
中的一个 TabBar
以允许用户从 Fragment
到 Fragment
。此 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
但您可以尝试其他一些解决方案
- 在 onResume() 中显示对话框;
在 Acitvity 中创建一个接口并启动它在 Fragment 中的实现
tab.setOntabselected{
已选择页数(页码)
}