在我的应用程序中,当按下返回按钮返回上一个活动时,变量仍然设置并包含值,我的问题是如何重置任何活动中的所有变量,以便在首次启动时执行操作?如何清理活动中的变量?
如果这有帮助,我有一个包含三个活动的应用程序; 在活动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