0

我的应用程序有 3 个活动 A、B 和 C

经典的方式是:从 A 到 B 到 A (startActivityForResult(intent) 到 C (startActivity(intent))

在 C 上,我可以返回到 A (startActivity(intent)),但是当我再次在 C 上进行时(总是以相同的方式 A > B > A > C),其中一个变量仍然具有我退出时的值活动 C 最后一次。

其实很多状态都记住了,但是我想全部清除

该变量是一个初始化为 0 并在活动期间递增的整数。但它保留了它拥有的最后一个值,这会导致崩溃。我可以在带着 Intent 去 A 之前将他的值设为 0,但我认为这不是最好的方法。

在退出之前我该怎么做才能清除 C ?

对不起,我的英语很差,很难解释我的问题......

谢谢你的帮助

4

1 回答 1

0

在活动 C 中,覆盖 onNewIntent() 方法,然后使用它重新初始化您的变量。每当新意图将活动的现有实例带到前台时,都会调用 onNewIntent() 方法,就像您的应用程序中的情况一样。

编辑:您可能需要将活动 C 设为 singleTop 活动才能使其正常工作。

于 2012-12-13T22:27:01.557 回答