我有一個應用程序MainActivity
和ChildAaActivity
和ChildBbActivity
。如何讓我的活動的單個實例與疊堆一起工作?
MainActivity可以將我們發送到任何一個Child活動,並且用戶可以在他們想要的兩個Child活動之間移動。
但是,每個活動只能有一個實例。
問題是,如果我讓孩子活動singleInstance
,那麼它們都是獨立的任務,並切換到另一個應用程序,並回到孩子意味着onBackPress
我退出程序(當我應該回到MainActivity)
如果我將launchMode
作爲標準離開,那麼我會得到多個兒童活動實例,特別是在兩個孩子之間來回移動時。
如果我使用singleTop
,然後我有兩個問題
如果我對孩子使用noHistory
我不能自由地在它們之間移動(第一回按會回到我MainActivity)
使用isTaskRoot()
明顯不會與singleInstance
一起修復應用程序退出錯誤,因爲它永遠是真實的(並且對於其他場景無用)
我應該如何正確實現我需要的行爲?
- 在後面堆
- 都在同一個任務的每個活動只有一個實例/不退出onBackPress切換應用程序
這是我會怎麼做:有兩個活動,MainActivity和ChildActivity,開始時ChildActivity將顯示任一FragmentA或FragmentB。然後,您可以使用片段事務輕鬆地在FragmentA和FragmentB之間切換,同時保留ChildActivity,並且您還可以在需要時輕鬆導航回MainActivity。 –