如何使标签(ActionBar)停止调用其邻居选项卡的onCreateView()

时间:2013-12-29 19:19:26

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

我需要第一个标签,当我选择它时(在选择第二个标签后),调用其onCreateView()或仅调用其onResume()或其他功能来更新它。

我有2个标签,我在第二个标签中的操作必须在第一个标签中更改内容。但是,当我在第一个标签中并选择第二个标签时,第一个标签的onCreateView()再次被调用。所以,如果我在第二个标签中执行某些操作并返回第一个标签,则不会发生任何变化。要更新第一个,我不得不再次进入第二个,它调用第一个的onCreateView()然后我更新它。

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

我怎样才能让它发挥作用?

1 个答案:

答案 0 :(得分:1)

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

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

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