2013-10-31 28 views
0

我很難管理我的應用程序中的後退按鈕。如果我沒有弄錯,後退按鈕的默認功能應該讓用戶回到以前的活動。但是當我從一個活動轉到另一個時,我在收聽者中稱finish()。由於以前的活動中斷,按下後退按鈕會導致應用程序退出。Android:返回按鈕和活動生命週期

是否有任何方法可以保留之前的活動,並且只有在當前活動發生變化後纔會將其殺死?

順便說一句,我知道如何覆蓋後退按鈕。但是如果我有很多活動,爲每一個沒有以前的活動已經死亡的活動寫一個覆蓋是否有效?我正在開發一款RPG遊戲,我很確定會有很多活動。

+0

基於這聽起來像你想做的事,你最好的選擇將是重新開始之前的活動,而是通過其意圖傳遞變量。 –

+0

任何示例如何做到這一點?我知道如何使用意圖傳遞變量..但我不知道如何重新啓動/使用提供的變量啓動活動.. – iwalyfa

+0

如果我理解的很好,你不應該讓默認返回按鈕的行爲轉到上一個屏幕,而不是你想保存狀態,然後重新啓動活動 – meda

回答

0

你正在設置一個非常糟糕的時間。您希望儘可能少地使用活動。在一個遊戲中,你真的不想管理所有數據在*活動數量之間前後移動。

您需要模型來管理遊戲數據,而您的視圖活動可以從視圖控制器接收這些數據。你不想殺死你的主視圖活動,並且你不想在內存中保存一堆活動。閱讀本書中的幾章。祝你好運!

http://danielrparente.files.wordpress.com/2013/01/rpg_design_patterns_9_26_05.pdf

+1

thx的幫助..我想我需要重新排列布局設計,以方便使用.. :) – iwalyfa