我有一个可滚动的标签+滑动活动,上面有3个不同的片段。它运作良好,但我不想让我的碎片在它们之间导航时被破坏。例如,当我创建活动时,它显示了第一个片段,但它也创建了第二个片段。当我滑动到第二个片段时,第三个片段被创建,所以我可以滑动到第三个片段,它将在我打开它之前创建。当我返回第二个片段时,我的第三个片段仍然保持创建但当我返回第一个片段时,第三个片段被删除。
有什么办法可以避免这种情况吗?当我在它们之间导航时,我不希望删除我的片段。
答案 0 :(得分:2)
如果您使用ViewPager,它有一个名为setOffscreenPageLimit(int limit)的方法。尝试看看是否设置更高的工作
答案 1 :(得分:1)
This answer应该可以帮助您弄清楚发生了什么。当你应该使用FragmentPagerAdapter时,你很可能使用FragmentStatePagerAdapter。这使它不会删除不在视图中的片段。
如果出于性能原因,您需要在未使用片段时将其删除,还有其他选项。当你只有3个标签时,要么看看为什么表现不好(除非你对列表视图做错了,或打开地图等,否则不应该这样做)或者你可以编码片段来保存它们被销毁时的状态(无论如何都应该使用FragmentStatePagerAdapter)。
如果这没有帮助,我们需要更多关于您正在做些什么来帮助的信息。