如何在重新创建活动后检索最后一个片段?

时间:2014-03-12 15:18:50

标签: android android-fragments android-activity

我有一个活动,它有一个片段。在片段内,我正在创建相机意图。 由于相机是另一项活动,因此当用户拍照时,我的主要活动可能会被销毁。

用户完成拍照后,我希望我的活动回到最新的片段。有没有办法做到这一点?

我尝试使用getSupportFragmentManager(),但它没有用。由于活动正在被销毁,因此没有任何交易信息。

由于

3 个答案:

答案 0 :(得分:1)

有很多不同的方法可以解决这个问题。我要做的是将最新的片段存储在SingleTon类实例或SharedPreferences中,在onResume活动中,您可以检查最后一个片段并将其附加回FragmentActivity。

另一个解决方案是通过期望结果来启动CameraActivity,例如startActivityForResult。这样,您的Fragment Activity将保留在堆栈中,每当您完成CameraActivity时,您将返回到MainActivity的onActivityResult。

如果您可以在此处分享您的代码,我们可以提供更多帮助。

答案 1 :(得分:0)

也许FragmentManager可以为您工作,将相机作为片段启动并将主片段添加到Backstack。

http://developer.android.com/reference/android/app/FragmentManager.BackStackEntry.html

查看文档。

答案 2 :(得分:0)

要检索过去的Fragment,请将Fragment添加到后堆栈,这样当相机Activity关闭时,它将再次被推到前面。 />
  例如,将以下代码粘贴到Fragment中     。getActivity()getSupportFragmentManager()的BeginTransaction()addToBackStack( “空”)提交();