假設我有堆棧中活動A,B,C的活動實例A1,B1,A2,B2,C1。我如何從C1中遍歷Activity實例B1?堆棧中的活動之間的遍歷
讓我們概括一下B1和C1之間會有'n'個活動。
我不想從C1創建B的新實例。
假設我有堆棧中活動A,B,C的活動實例A1,B1,A2,B2,C1。我如何從C1中遍歷Activity實例B1?堆棧中的活動之間的遍歷
讓我們概括一下B1和C1之間會有'n'個活動。
我不想從C1創建B的新實例。
這實際上是一個非常糟糕的Android體系結構。如果您在Activity
上創建多個實例,則無法專門解決它們,例如:「返回ActivityB
的第一個實例」。 Android不是這樣設計的。
您應該避免創建Activity
的多個實例。使用相同的實例並通過交換底層數據創建多個實例的「錯覺」,並在顯示器上添加狀態轉換,以使其看起來像您正在啓動另一個Activity
。
另一種可能的解決方案是使用大量的startActivityForResult()
,並將信息返回給呼叫Axctivity
,接下來該做什麼。
欲瞭解更多詳情,請參閱(即使這些問題是專門關於使用FLAG_ACTIVITY_REORDER_TO_FRONT
,問題仍然是基本相同):
以意圖使用標誌。
官方文檔:https://developer.android.com/guide/components/tasks-and-back-stack.html
傳遞標誌意圖
FLAG_ACTIVITY_CLEAR_TOP
你也可以根據自己的需要在一個單一的意圖PAAS多個標誌位。
希望這會有所幫助。
其實這是行不通的。它將把任務清除回B2,而不是B1。 OP在堆棧中有多個「Activity」的多個實例,他希望能夠回到特定的一個。 –
你能解釋一下嗎? – Krish
使用'ViewPager' https://developer.android.com/reference/android/support/v4/view/ViewPager.html –
@WaqasRaja我問過如何遍歷活動。不使用標籤在活動內部進行遍歷。所以回答不是ViewPager – tpk