为什么android.app.Activity不是通过devise抽象的?

为什么android.app.Activity不是通过devise抽象,如果文档/教程说,至less它的方法onCreate() 必须实现。

从http://developer.android.com/guide/components/activities.html

你必须实现这个方法。 系统在创build活动时调用这个。

即使没有明确提到,没有实现没有意义的android.app.Activity对象,或? 我明白,parrent需要在自己的onCreate()实现中执行代码,但是当onCreate()会调用一个需要开发人员实现的抽象callback方法的时候,肯定会有devise。

这个devise的例子:

 public abstract class Activity { public abstract void implementThis(Object o); public void onCreate(Object o){ //Do stuff implementThis(o); //Do other stuff or end. } } 

我在这里错过了什么? 为什么有非抽象的Activity如果开发人员必须需要inheritance它并提供自定义的实现?

Solutions Collecting From Web of "为什么android.app.Activity不是通过devise抽象的?"

阅读这里: http : //grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/1.5_r4/android/app/Activity.java#Activity.onCreate%28android.os。捆绑29%

“此方法的默认实现会执行之前由onSaveInstanceState(android.os.Bundle)冻结的任何视图状态的还原。”

为什么android.app.Activity不是通过devise抽象的,如果文档/教程说至less它的方法onCreate()必须被实现。

应对文件太多抗议。 你不必实现onCreate() 。 您可以通过创build一个没有onCreate()并且正在运行的活动来说明这一点。

没有实现没有点android.app.Activity对象,或?

欢迎您在其他地方仔细设置您的用户界面(例如, onResume() )。 通常,你在onCreate()这样做。

我明白,parrent需要在自己的onCreate()实现中执行代码,但是当onCreate()的一部分会调用一个需要开发人员实现的抽象callback方法的时候,肯定会有devise。

当然。 他们select不这样做。

build议在onCreate设置您的活动,但不是必需的。 说我不关心我的活动生命周期,我可以在onResume设置所有的东西,并在onPause中将其closures。 提供一个从onCreate调用的抽象方法比任何东西都更具限制性。

注意:我并不是build议任何人这样做 – 只要你真的想这样做就可以