当前位置: 首页 > 知识库问答 >
问题:

在第一个片段(tab)上调用第二个片段的onCreateView

龙华翰
2023-03-14

我的activity中有10个选项卡。打开活动后,第一个片段就会显示出来,但下一个片段中的方法(AsyncTask)会被调用。如果我转到下一个选项卡,比如第3个选项卡,那么将调用第4个fragment中的方法,依此类推。

我不理解这种行为。请救命!

共有1个答案

林涵映
2023-03-14

您必须知道ViewPager如何在不同位置填充片段

从位置0开始时,将创建位置0上的片段和位置1中的一个片段。

然后,当您滑动到位置1时,将创建位置2上的片段,因此您现在可以在不同位置创建三个片段(0、1、2。假设ViewPager上只有3个页面)。

我们滑动到位置2,即最后一个位置,第一个位置(0)上的片段被销毁,所以我们现在有位置2和3上的片段

这就是fragment生命周期的工作原理

您可以设置mviewpager.setoffscreenpagelimit(2);//2只是一个示例来限制它

 类似资料:
  • 我在弄清楚碎片是如何工作的。我有3个类,MainActivity,Fragment1和fragment2。 MainActivity扩展了 Fragment2还扩展了SherlockFragment,但什么也不做,将它膨胀为空。xml

  • 我有一个事件序列,通过它,我已经将三个片段一个接一个地添加到背景堆栈中。这些片段,每一个都覆盖了活动的全屏。 我已经存储了从Frag1的提交返回。 现在在Frag3中,基于特定的单击,我想直接回到Frag1并丢弃/弹出之间的所有Fragments。 因此,单击此按钮时,我会向活动发送一条消息,该消息执行以下操作: 但我只是得到一个空白屏幕,所以我假设没有加载碎片。 我甚至试过:在commit-

  • 在我的应用程序中,我有两个片段,分别是fragmentA和FragmentB。当我点击fragmetA中的按钮时,fragmentB中会打开一个列表。现在,当我从fragmentB中的列表中选择一个项目时,我希望将结果传递给fragmentA。我只对所有片段使用一个TabActivity。当列表项在fragmentB中被选中时,我将从堆栈中弹出fragmentB,以便直接返回fragmentA。

  • 我想按下mainactivity中的一个按钮,该按钮将启动一个包含片段的新活动的意图。我写了一个主要的活动。带有main活动和第二个_活动按钮的xml。带有片段的xml。当我单击按钮时,第二个活动将由于xml中的片段而崩溃。我已经添加了一个标志,但它没有帮助。该应用程序的想法是通过按下主活动中的按钮,在第二个活动中获取谷歌地图。 我希望你能帮助我:/ 主要活动: 亚活性: activity_mai

  • 我已经创建了默认的Android Studio导航抽屉项目。默认情况下,我有一个活动和三个主要片段。(家庭,画廊,幻灯片),我只是尝试与家庭片段。我已经将 从content_main XML替换为 并将MainActivity修改为

  • 在我的应用程序中,我有一个ViewPager,里面有很多可滑动的标签,里面有碎片。我使用方法检测何时出现在屏幕上。当用户在选项卡之间滑动时,这非常有效,但它在第一次加载时不起作用。要运行该方法中的代码,我必须向左滑动,然后返回到第一个,因为方法是在方法之前调用的。 你有任何想法,我如何运行这段代码后,第一个片段是可见的吗?中有方法吗?