protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.hello_world_layout);
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment())
.commit();
}
}
如果写在你自己定义的一个OnCreate(),在这个函数里写调用OnCreate的话,必然要写super.OnCreate(),否则会递归调用,
其他地方写的话,super是调用父类的,this是调用你覆盖的,不过一般没有人会去手动调用这玩意吧,因此一般是调用super.OnCreate().
首先我们可以看到, HelloWorldActivity 是继承自 Activity 的。 Activity 是 Android 系统提 供的一个活动基类, 我们项目中所有的活动都必须要继承它才能拥有活动的特性。 然后可以 看到 HelloWorldActivity 中有两个方法, onCreateOptionsMenu()这个方法是用于创建菜单的, 我们可以先无视它, 主要看下 onCreate()方法。 onCreate()方法是一个活动被创建时必定要执 行的方法, 其中只有两行代码, 并且没有 Hello world!的字样。那么图 1.15 中显示的 Hello world! 是在哪里定义的呢? 其实 Android程序的设计讲究逻辑和视图分离, 因此是不推荐在活动中直接编写界面的, 更加通用的一种做法是, 在布局文件中编写界面, 然后在活动中引入进来。 你可以看到, 在 onCreate()方法的第二行调用了 setContentView()方法,就是这个方法给当前的活动引入了一 个 hello_world_layout 布局,那 Hello world!一定就是在这里定义的了!