我正在从Activity A
导航到Activity B
而没有完成Activity A
(因为我想重新开始并拥有一些变量值)。
在Activity B
我启动相机并保存捕获的图像,但问题是,在捕获相机后,Activity A
重新创建并恢复,导致重新初始化我的变量。
如何阻止它?
注意:问题仅出现在牛轧糖版本中。
答案 0 :(得分:0)
您想知道的是关于完整的活动生命周期。基本上是为了总结它们 OnCreate, - 在创建活动时调用 OnStart, - 在活动开始时调用 OnREsume, - 当活动回来时 OnPause, - 活动重叠时 OnStop, - 活动结束时 和onDestroy - 调用finish()时。
虽然你还没有提到你是如何开始一项活动并回到同一活动的,但回到以前活动的正确方法是致电
finish()
关于相机活动。 我想你已经使用
回到活动A.Intent i= new Intent(this, ActvityA.class)
startActivity(i)
这是正确的方法。 当你想从B回到活动A时,只需调用finish()(这里B位于A的顶部)。
附加
如果您想将活动B中的数据传递给A,只需输入名为Intent Extra or Bundle
答案 1 :(得分:0)
活动A再次创建并恢复,因此我的变量再次初始化。如何阻止它。
是的,这是正常的。 Android编程的第一条规则是您的活动可以随时被杀死。因此,为了不丢失变量,您必须在适当的时候保存它们。
您可以覆盖onSaveInstanceState()
将变量放入捆绑包中。
然后您可以从函数参数{/ 1}}中检索它们。