Android 使用片段和活动执行生命周期流的问题
有一个名为家庭活动的活动。 名为MyProfileFragment的片段添加到片段容器中 现在,在其上添加了一个UserLocationFragment 现在,在UserLocationFragment中,我打开GooglePlaceAPI对话框来选择特定的地址。我已经重写了OnActivityResult方法,在UserLocationFragment 问题是: 设置地址后,MyProfileFragment的onResume()方法正在调用。意味着当我使用onActivityResult方法时,该方法在UserLocationFragment 可能是什么问题?或者我应该做些什么来避免调用前一个片段的onResume()方法MyProfileFragmentAndroid 使用片段和活动执行生命周期流的问题,android,android-fragments,android-activity,fragment,Android,Android Fragments,Android Activity,Fragment,有一个名为家庭活动的活动。 名为MyProfileFragment的片段添加到片段容器中 现在,在其上添加了一个UserLocationFragment 现在,在UserLocationFragment中,我打开GooglePlaceAPI对话框来选择特定的地址。我已经重写了OnActivityResult方法,在UserLocationFragment 问题是: 设置地址后,MyProfileFragment的onResume()方法正在调用。意味着当我使用onActivityResult方法
谢谢。从您的代码来看,您似乎有意启动自动完成活动。因此,根据android生命周期,当您移动到
自动完成活动时,您的家庭活动
会停止,它的子组件也会停止,即片段
,当您返回并且家庭活动
可见时,它会继续,所有子片段
也会停止。因此,onResume也在MyProfileFragment
上被调用。这是不可避免的
出于这个原因,我不建议在onResume
上进行API调用
但是,如果这是您的用例,并且您必须在onResume
中执行,我建议在java中使用全局public static
变量,或者在kotlin中使用companion object
变量作为标记,就像您注释的isRefreshData
一样,它可以让您控制何时应该进行API调用。当您认为时机合适时,请将其设置为true
,当您得到结果时,请切换为false
。您能分享MyProfileFragment
和UserLocationFragment
的代码吗?它将帮助我理解您试图实现的目标。@MayurGajra请检查,我已经添加了代码。