什么是Android中的OnCreate方法

时间:2013-10-23 10:19:41

标签: android oncreate

我是android的新手,试图了解以下方法的作用

public void onCreate(Bundle savedInstanceState)
{
        super.onCreate(savedInstanceState);
        // load the layout
        setContentView(R.layout.filters); 
}

我的研究 ::

  • onCreate用于启动活动
  • super用于调用父类构造函数
  • setContentView用于设置xml

但是这一切是什么 -

  • onCreate(Bundle savedInstanceState) ....为什么那捆绑来了 那里,它是什么
  • 那是super.onCreate(savedInstanceState);

外行术语中的一些解释会有所帮助

6 个答案:

答案 0 :(得分:16)

如果将应用程序的状态保存在一个包中(通常是onSaveInstanceState中的非持久性动态数据),如果需要重新创建活动(例如,方向更改),则可以将其传递回onCreate。如果方向发生变化(即将设备从横向模式旋转为纵向模式,反之亦然),则会重新创建活动并再次调用onCreate()方法,这样您就不会丢失此先前信息。如果没有提供数据,savedInstanceState为空。

了解更多信息http://developer.android.com/guide/topics/resources/runtime-changes.html

答案 1 :(得分:10)

Bundle用于保存&恢复您的活动的状态信息。在方向更改或杀死您的应用程序或导致再次调用onCreate()的任何其他方案的情况下,savedInstanceState包可用于重新加载以前的状态信息。 熟悉this article about Activity lifecycle会有所帮助。

答案 2 :(得分:2)

onCreate(Bundle)是您初始化活动的地方。启动Activity并且未加载应用程序时,将调用两个onCreate()方法。

但是对于Activity的后续启动,将不会调用onCreate()的应用程序。

答案 3 :(得分:1)

由于重写了onCreate方法,因此super关键字用于调用基类的onCreate方法。我认为

答案 4 :(得分:1)

首先super.onCreate(savedInstanceState);调用superclass中的方法 并保存了InstanceState个活动(如果有任何东西损坏了该活动),因此将其保存在instanceState中,因此在重新加载该活动之前,它是相同的。

答案 5 :(得分:0)

  

super用于调用父类的构造函数

super.onCreate(savedInstanceState);调用超类的onCreate()方法,而不是构造函数。