我有一個活動它有一個片段。裏面的片段我正在創建相機意圖。 由於相機是另一項活動,當用戶拍照時,我的主要活動可能會被破壞。如何在重新創建活動後檢索最後一個片段?
用戶完成拍照後,我希望我的活動回到最新的片段。有沒有辦法做到這一點?
我試圖使用getSupportFragmentManager()
,但它沒有奏效。由於活動正在被銷燬,它沒有任何交易信息。
感謝
我有一個活動它有一個片段。裏面的片段我正在創建相機意圖。 由於相機是另一項活動,當用戶拍照時,我的主要活動可能會被破壞。如何在重新創建活動後檢索最後一個片段?
用戶完成拍照後,我希望我的活動回到最新的片段。有沒有辦法做到這一點?
我試圖使用getSupportFragmentManager()
,但它沒有奏效。由於活動正在被銷燬,它沒有任何交易信息。
感謝
也許FragmentManager可以爲你工作,啓動相機的片段和主要片段添加到堆棧中。
http://developer.android.com/reference/android/app/FragmentManager.BackStackEntry.html
看一看的文檔。
相機是一個不是片段的活動。其次,我已經在上面提到過,因爲主要活動正在被銷燬,所以後臺將是'null' –
有很多不同的方法來解決這個問題。我會做的是將最新的片段存儲在SingleTon類實例中或SharedPreferences中,並在onResume活動中檢查最後一個片段並將其附加回FragmentActivity。
另一種解決方案是通過預期結果來啓動CameraActivity,例如startActivityForResult。通過這種方式,您的片段活動將保留在堆棧中,並且每當完成CameraActivity時,您都將返回到MainActivity的onActivityResult。
如果你可以在這裏分享你的代碼,我們可以更有幫助。
這就是我正在做的事情。我正在爲結果開始活動。我正要解決這個問題,因爲我猜想,現在它有數據,所以後臺是空的。我猜可以彈出最新的片段。謝謝你! –
好吧,讓我知道如果它不起作用。我們可以找到其他解決方案 – osayilgan
若要檢索過去的Fragment
,請將Fragment
添加到背堆疊中,以便當相機Activity
關閉時,它將再次推到前面。
例如下面的代碼粘貼在您的Fragment
getActivity()getSupportFragmentManager()調用BeginTransaction()addToBackStack( 「空」)提交()。。
你有沒有得到解決方案? –