2015-07-10 135 views
0

假设我已经有了标准活动有一个变量,布尔,例如:Activity中的静态变量是否可以保存其状态?

public class My Activity extends Activity { 
    public static boolean A = true; 
} 

我immidietly初始化和运行过程中其值会发生变化。这种变量初始化和Activity生命周期是否有一些麻烦。这个布尔型A可以在onPause,onStop或其他生命周期方法中返回它的初始值吗?它如何对应onCreate()?

+0

当活动被破坏时,你将失去静态变量。使用onSaveInstanceState()来保存你想要的数据 – 3xplore

回答

0

的(静态)变量inizialized构造运行之前,所以它会在那里住了活动的所有lifecicle。 问题是,如果活动被破坏并重新创建(例如,当您旋转屏幕时):在这种情况下,您将失去班级的所有状态。 一个解决方案是使用方法onSaveInstanceState()保存活动状态,并在onCreate()方法中检索它。

0

是的。您使用yield关键字并返回。例如,

yield return A; 

了解更多关于网络关键字yield

0

我认为变量A可以像您的类生命周期那样生活,但不会活动生命周期。 onPause()意味着这个活动暂停,但你的类仍然活着,所以也是。我认为它仍然和的onCreate之间的onDestroy活了... ...