27

情况 我的活动等待异步操作,在收到异步操作的回复后,它需要将信息传递给其中的 2 个片段。

要求 1. 两个 Fragment 都需要完成onCreateView调用才能加载布局,2. 他们需要将自己附加到其 Activity 才能getActivity()正常工作。

我在两个片段中都编写了一个setData()方法,并正在寻找活动生命周期中的“正确”位置来调用它们。

onCreate()的活动不工作,onStart()活动不工作和onStart()片段不工作。

没有任何效果,我在这里缺少什么?

4

5 回答 5

16

Fragment 生命周期的官方文档清楚地解释了这一点 - 请参考它,如果有不清楚的地方,请提出后续问题。

于 2011-09-21T08:43:51.347 回答
15

此图像将有助于一起了解两个生命周期。

正如许多人抱怨的那样,这个生命周期太复杂的说法有些合理,在 Google I/O 2018 中,他们建议使用架构组件框架。请检查此文档

在此处输入图像描述

于 2016-11-09T07:26:39.033 回答
0

当您在Activity2---->backpress--->Fragment2(Activity1)--- 意味着再次从等方法完全加载Activity1时附加....所以我们可以调用您的 Activity1 的方法...fragment2OnAactivityCreated()Activity1setData()

于 2014-08-27T06:12:33.040 回答
0

onAttachFragment()-activity 在 onCreate()-activity 之前和 onAttach()-fragment 之后调用

于 2019-06-05T04:14:03.623 回答
-1

在片段的 onStop 上调用 onDestroy。这应该在片段启动时调用 onCreate。让我知道是否可以作为您问题的理想解决方案。

于 2012-12-10T12:51:21.550 回答