【问题标题】:How to make tabs (ActionBar) stop calling onCreateView() of its neighbors tabs如何使选项卡(ActionBar)停止调用其相邻选项卡的 onCreateView()
【发布时间】:2013-12-29 19:19:25
【问题描述】:

我需要我的第一个选项卡,当我选择它时(在选择第二个选项卡之后),调用它的onCreateView() 或只是它的onResume() 或其他函数来更新它。

我有 2 个选项卡,我在第二个选项卡中所做的必须更改第一个选项卡中的某些内容。但是,当我在第一个选项卡中并选择第二个选项卡时,将再次调用第一个选项卡的 onCreateView()。因此,如果我在第二个选项卡中执行某些操作并返回到第一个选项卡,则没有任何变化。要更新第一个,我不得不再次转到第二个,调用第一个的 onCreateView() 然后我更新它。

我需要第一个选项卡在我选择它时自行更新,而不是在我选择第二个选项卡时。我已经尝试了ViewPager.setOffscreenPageLimit(0),但没有成功。

我怎样才能让它工作?

【问题讨论】:

  • 你应该显示你的代码。

标签: android android-fragments tabs android-actionbar android-lifecycle


【解决方案1】:

我在这里假设您使用的是 ViewPager。 setOffsetPageLimit(0) 不起作用的原因是因为 1 是这里的最小值。

您应该创建一个您的 Activity(或可以访问两个 Fragment 的类)实现的回调,第二个 Fragment 可以告诉它更新。然后,您可以在该回调中执行逻辑以更新您的第一个 Fragment。

我建议不要像你提到的那样在 onCreateView() 中进行更新,因为这样它会将更新与 Fragment 生命周期联系起来——这很难控制。

【讨论】:

  • 感谢@Espiandev!我将必须更新的视图设置为 static 并创建了一个“Manager.class”来更新这些视图。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-05-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-11
  • 2016-06-29
相关资源
最近更新 更多