0

我已经找到了这个,但似乎无法找到我需要的答案。回到另一个或旧活动从一个活动的片段

所以,我的情况是,我有activityA使用Intent启动activityB。然后,activityB在一个包中设置一些值并使用片段管理器启动一个片段。现在,当点击一个按钮时,我想回到activityA。我也想将片段中的一些变量传递给activityA。我该怎么做呢?

目前,我只是通过使用intent和片段传入的一些数据来再次启动activityA。这不好,因为我再次重新启动activityA。我只想回到使用OnResume()或类似的东西,以便我的旧数据仍然存在于activityA中。

感谢

+0

您可以同时启动活动b和片段意图和“startForResults” –

+0

'startActivity()'与适当的'Intent'是一个有效的解决方案。你可能也想看看[操作Back Stack](http://developer.android.com/guide/components/tasks-and-back-stack.html)。我对Android API的这部分不是很熟悉,所以我不能提供任何保证。希望这会有所帮助。 –

回答

1

,您可以调用完成,就像您从一个活动做,但像这样:

getActivity().finish(); 

或者你也可以活动和召回从堆栈中的前一个:

Intent i = new Intent(getActivity(), activityA.class); 
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
startActivity(i); 

http://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_CLEAR_TOP

+0

当然,OP也可以设置任何附加信息传递给活动。 (这会导致对'onCreate()'或只是'onResume()'的调用吗?) –

+0

没关系...你链接的文档回答我的问题。 –

+0

只有在首次创建活动时才会调用onCreate。如果有此标志,则显示已经创建的活动实例。根据Android文档:“如果已设置,并且正在启动的活动已在当前任务中运行,则不会启动该活动的新实例,而是关闭其上的所有其他活动,并且此Intent将会作为一个新的意图被传递给(现在在顶部)旧的活动。“我认为onStart()会被调用,因为onStop应该在之前被调用过。 –

相关问题