【问题标题】:Saving tab information after swipe滑动后保存标签信息
【发布时间】:2015-08-26 03:11:33
【问题描述】:

我的应用程序中有 3 个选项卡。 在我的第一个选项卡中,我需要从 URL 读取 JSON 数据并使用用户位置。加载页面大约需要 2-3 秒。 当我实现标签时,我的问题就开始了,现在每次我上下滑动时,都会重新获取信息。

我尝试了以下解决方案: 我将我的方法移动到 MainActivity,并创建了一个名为“isUpdated”的变量并将其更新为 1,如果信息已成功提取。从那时起,标签数据在滑动后消失,并显示空白标签。 我了解滑动到另一个标签后会擦除标签数据,但我需要保存标签内容。

如何保存标签信息并在用户滑动到下一个标签后显示它,而无需一遍又一遍地重新获取数据?

【问题讨论】:

  • 一点细节/代码会有很大帮助。你在使用 ViewPager 吗?如果是这种情况,您可以使用 setOffscreenPageLimit 并将限制设置为 3,因此当您转到片段 #3 时片段 #1 不会被破坏,反之亦然

标签: android tabs


【解决方案1】:

如果您使用的是 ViewPager,则将您的屏幕外页面限制设置为不同的值

例如

mViewPager.setOffscreenPageLimit(2);

3 个标签应该足够了

【讨论】:

  • 效果很好!谢谢!但为什么是 (2) 而不是 (3)?
  • setOffscreenPageLimit(2) 因为 1 您已经在屏幕上,例如,如果您有 5 个选项卡并且当前选项卡索引为 0,那么在内存中您将有 0,1 和 2 个选项卡,但是当您当前的标签索引将为 2,然后所有 5 个标签都在内存中。
  • 如果我有 4 个标签,那我该怎么办?
  • @ZenBhatt 只是增加 setOffscreenPageLimit
  • 非常感谢@mstrengis。这就像一个魅力。但是当用户滑动到下一个或上一个页面时,我想调用 onPause 将片段的数据保存到数据库中。在这种情况下,不会调用 onPause。请帮帮我!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-01-18
  • 2016-11-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多