0

我看了這篇文章:http://developer.android.com/guide/components/tasks-and-back-stack.html的Android創建不同backstacks(任務),並返回到他們

如果我讀它正確它說,你可以創建新任務與新的活動,而舊的任務仍具有堆棧中。他們也在談論重返舊時代。但是我沒有找到如何實現這一點。

我想要什麼:

我有抽屜式導航。我想點擊一個項目。當按下後退時,它會回到根部。但是,如果您單擊另一個項目,則堆棧會保存在當前任務中。然後在這個其他項目中創建一個新的後臺堆棧。當再次點擊第一個項目時,我想要進入疊堆頂部,所以繼續往下走。

實施例:

  1. A1 - > A2 - > A3(抽屜項點擊)(以便返回堆棧是(A1,A2,A3))
  2. A1 - > A4 - > A5(最後抽屜項點擊)
  3. A3(隨着堆棧中A1,A2,A3)

這可能嗎?

注:我與活動一起工作,它是一個大型應用程序,活動更容易維護。

+0

您能否提供一個視覺示例,確切地說明您想要的後臺行爲是什麼? – 2015-02-23 11:29:10

+0

@ZygoteInit我試圖給你一個視覺例子。我希望這已經足夠。我想要的是記得後臺堆棧,所以當我回到我的導航抽屜裏的一個項目時,我可以繼續我最後一次點擊該項目的位置 – 2015-02-23 11:36:26

+0

我明白了,請看我的回答 – 2015-02-23 12:09:26

回答

1

NavigationDrawer的目的是爲了簡化對用戶和程序員而言管理複雜而繁瑣的導航。你應該做的是,當你開始從根ActivityA1)的新Activity,你應該這樣開始的:

Intent intent = new Intent(this, A2.class); 
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK) 
startActivity(intent); 

這將確保A1總是返回堆棧中的根。

我不知道你有什麼具體原因希望你描述的行爲,但我會考慮我上面描述的是合適的,優雅地處理疊堆。在任何情況下,這將是非常具有挑戰性的實現你所要求的行爲。

+0

我已經這樣做了,但謝謝。我想要的是在按下另一個導航抽屜項目時「保存」(排序)後臺堆棧,因此當您返回時,您可以繼續進行之前的活動。你明白嗎?我發現很難解釋哈哈:P – 2015-02-23 12:52:56

+0

我明白了,正如我所說的,編寫可靠的代碼將非常困難:/ – 2015-02-23 12:55:21

+0

Ahh好吧,對不起。希望這是可能的,因爲Android已經處理了它本身,但太糟糕了。感謝您的幫助! – 2015-02-23 12:59:22

相關問題