在我的應用程序中,當按下返回按鈕返回上一個活動時,變量仍然設置幷包含值,我的問題是如何重置任何活動中的所有變量,以便在首次啓動時執行操作?如何清理活動中的變量?
如果這有幫助,我有一個包含三個活動的應用程序; 在活動1:我把Bundle.putExtras()
一些字符串發送到下一個活動... 在活動2:也把一些字符串捆綁,並將其發送到活動3 ...
在我的應用程序中,當按下返回按鈕返回上一個活動時,變量仍然設置幷包含值,我的問題是如何重置任何活動中的所有變量,以便在首次啓動時執行操作?如何清理活動中的變量?
如果這有幫助,我有一個包含三個活動的應用程序; 在活動1:我把Bundle.putExtras()
一些字符串發送到下一個活動... 在活動2:也把一些字符串捆綁,並將其發送到活動3 ...
你的非靜態變量將當你從你的Activity
回來時被清除並重置爲默認值。
您的靜態變量可以在您的Activity
的onDestroy()
方法中重置,儘管這樣做首先會破壞靜態變量的目的。
編輯:我看到你在說的是前面的Activity
。在這種情況下,只需覆蓋您之前的Activity
的onResume()
即可清除變量,但我不明白爲什麼您需要這樣做。
這根本不是真的。只有在重置它們時纔會重置它們。並且靜態變量進入它的位置 – Doomsknight 2013-05-14 17:04:03
@Doomsknight,我認爲他是在討論當前活動的變量,當他按下Back時,而不是前一個。在這種情況下,擁有靜態變量值得一提是有道理的。 – 2013-05-14 17:06:11
好的。然而'onResume()'會在屏幕旋轉時觸發,或隱藏然後恢復應用程序。導致數據在意外時被清除。如前所述,'onActivityResult'是最好的方法。只是需要考慮。 – Doomsknight 2013-05-14 17:09:03
只是初始化onResume()方法的所有變量。這樣,每當您的活動開始時,您的數據就會被清除。
哪種變量..發佈一些代碼 – stinepike 2013-05-14 16:59:12
'onActivityResult'清除全局變量(再次設置爲默認值)。 – Doomsknight 2013-05-14 17:00:56
上午有不同的變量,字符串 - ArrayList - 線程 - 處理程序 - 詮釋... – spac3hit 2013-05-14 17:06:30