Android 使用片段和活动执行生命周期流的问题

Android 使用片段和活动执行生命周期流的问题,android,android-fragments,android-activity,fragment,Android,Android Fragments,Android Activity,Fragment,有一个名为家庭活动的活动。 名为MyProfileFragment的片段添加到片段容器中 现在,在其上添加了一个UserLocationFragment 现在,在UserLocationFragment中,我打开GooglePlaceAPI对话框来选择特定的地址。我已经重写了OnActivityResult方法,在UserLocationFragment 问题是: 设置地址后,MyProfileFragment的onResume()方法正在调用。意味着当我使用onActivityResult方法

有一个名为家庭活动的活动。

名为MyProfileFragment的片段添加到片段容器中

现在,在其上添加了一个UserLocationFragment

现在,在UserLocationFragment中,我打开GooglePlaceAPI对话框来选择特定的地址。我已经重写了OnActivityResult方法,在UserLocationFragment

问题是:

设置地址后,MyProfileFragment的onResume()方法正在调用。意味着当我使用onActivityResult方法时,该方法在UserLocationFragment

可能是什么问题?或者我应该做些什么来避免调用前一个片段的onResume()方法MyProfileFragment


谢谢。

从您的代码来看,您似乎有意启动自动完成活动。因此,根据android生命周期,当您移动到
自动完成活动时,您的
家庭活动
会停止,它的子组件也会停止,即
片段
,当您返回并且
家庭活动
可见时,它会继续,所有子
片段
也会停止。因此,onResume也在
MyProfileFragment
上被调用。这是不可避免的

出于这个原因,我不建议在
onResume
上进行API调用


但是,如果这是您的用例,并且您必须在
onResume
中执行,我建议在java中使用全局
public static
变量,或者在kotlin中使用
companion object
变量作为标记,就像您注释的
isRefreshData
一样,它可以让您控制何时应该进行API调用。当您认为时机合适时,请将其设置为
true
,当您得到结果时,请切换为
false

您能分享
MyProfileFragment
UserLocationFragment
的代码吗?它将帮助我理解您试图实现的目标。@MayurGajra请检查,我已经添加了代码。