我有一个活动,它有一个片段。在片段内,我正在创建相机意图。 由于相机是另一项活动,因此当用户拍照时,我的主要活动可能会被销毁。
用户完成拍照后,我希望我的活动回到最新的片段。有没有办法做到这一点?
我尝试使用getSupportFragmentManager()
,但它没有用。由于活动正在被销毁,因此没有任何交易信息。
由于
答案 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( “空”)提交();