我对android活动的程序流有点困惑,在java中,main方法首先执行,而在android中首先调用onCreate方法,那么在类级别定义的变量呢?如何在活动开始执行时声明/初始化它们,并说onCreate首先被调用。 也 我们可以在Inner类中初始化这些变量并在内部类之外使用它们的值吗?
答案 0 :(得分:5)
实际上OnCreate()
是首先调用的方法,就像你说的那样。活动像这样流动
OnCreate
- > OnStart
- > OnResume
此时,用户可以看到活动
同样,当活动结束时
OnPause
- > OnStop
- > OnDestroy
回答你的问题。在这些方法中,类级别的变量不依赖于它们。因为它的范围是针对整个活动的;从OnStart
到OnDestroy
。您可以在Oncreate
初始化它们,通常我们会这样做。如果您想要在转移到下一个活动时更改值,则应在OnResume
中执行此操作。 Activity
生命周期如下
你将像在java中一样自由地完成其余的工作
答案 1 :(得分:0)
典型的变量初始化发生在Android的onCreate()
中。如果变量不需要任何类型的Android Context
,那么您可以在与声明相同的行上进行初始化。
使用内部类可以是粘性的。他们真的不应该改变外层阶级的状态。您应该在声明的相同类中初始化变量。
答案 2 :(得分:0)
如果要从类中的任何位置访问变量,那么您应该声明该变量类名声明,并且可以从类的任何位置初始化该变量,关于变量的值...下面,有样本轮廓...
class MainActivity extends Activity {
//Declare your variable here
@Override
protected void onCreateActivity(Bundle savedInstanceState) {
//Initialize your variable here
}
}