为什么启动Activity都是写的super.onCreate
2015-04-30 21:35
337 查看
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!一定就是在这里定义的了!
相关文章推荐
- Android Activity为什么要细化出onCreate、onStart、onResume、onPause、onStop、onDesdroy这么多方法让应用去重载?
- 为什么我创建的项目都是继承自ActionBarActivity,而不是Activity
- Android Activity为什么要细化出onCreate、onStart、onResume、onPause、onStop、onDesdroy这么多方法让应用去重载?
- 这样写为什么不能使它成为启动入口activity
- 源码记录一:activity与application,service,reciever中的context启动activity为什么不一样。
- 为什么隐式intent无法启动activity
- Android Activity为什么要细化出onCreate、onStart、onResume、onPause、onStop、onDesdroy这么多方法让应用去重载?
- 简述Android中Activity的启动(onCreate方法的调用)
- grade中在线添加依赖无效不下载的问题和.MainActivity did not call through to super.onCreate()
- 为什么有时候启动Activity需要加FLAG_ACTIVITY_NEW_TASK
- Activity生命周期:onCreate onStart onResume onPause onStop onDestory (1) 启动Activity: onCreate onStart onR
- Android查缺补漏(View篇)--在 Activity 的 onCreate() 方法中为什么获取 View 的宽和高为0?
- 从桌面图标启动一个LauncherMode为标准模式的主activity为什么不会重复创建多个实例
- activity启动模式,返回上一个activity时又调用一次onCreate()方法
- Activity的onCreate中启动新的Activity时生命周期
- Android Activity为什么要细化出onCreate、onStart、onResume、onPause、onStop、onDesdroy这么多方法让应用去重载?
- Android Activity为什么要细化出onCreate、onStart、onResume、onPause、onStop、onDesdroy这么多方法让应用去重载?
- Android Activity为什么要细化出onCreate、onStart、onResume、onPause、onStop、onDesdroy这么多方法让应用去重载?
- 在启动activity之前,调用application的oncreate
- Android Activity为什么要细化出onCreate、onStart、onResume、onPause、onStop、onDesdroy这么多方法让应用去重载?