我對在兩個片段之間切換的單個活動的最佳方式感興趣。在兩個片段之間切換的最佳方式
我讀過大概15堆棧溢出帖子和5篇博客帖子,關於如何做到這一點,而且,雖然我認爲我拼湊了一個解決方案,但我不相信它是最好的。所以,我想聽取人們的意見,以正確的方式來處理這個問題,特別是關於父母活動和片段的生命週期。
下面是詳細的情況:
- 可以顯示兩種可能的片段之一的父活動。
- 這兩個片段的狀態是,我想堅持一個會話,但不一定需要在會話之間持續。
- 許多其他活動,例如父活動和碎片可能會埋在背堆棧中並由於內存不足而被破壞。
- 我希望能夠使用後退按鈕在片段之間移動(所以據我瞭解,我不能使用setRetainInstance)。
除了通用架構的建議,我有以下突出問題:
- 如果父活動被摧毀,由於內存不足,我該如何保證兩個片段的狀態將被保留,根據這個職位:When a Fragment is replaced and put in the back stack (or removed) does it stay in memory?。我只需要一個指向父活動中每個片段的指針?
- 父級活動跟蹤當前顯示哪個片段的最佳方式是什麼?
在此先感謝!
感謝您的回覆。我不認爲我可以在這裏使用視圖尋呼機,因爲視圖不應該在兩者之間滑動。我一定會實現parcelable。我在哪裏實施onBackPressed? – GLee
OnBackPressed是一個活動的方法。所以你必須在那裏覆蓋它。 –