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

时间:2016-09-30 17:46:57

标签: android android-fragments fragmentstatepageradapter

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

谢谢!

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

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

  viewpager.setOffscreenLimit(0) //defaults to 1

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

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

    tab.setOntabselected {

    Pageselected(页面编号)

  4. }