如果文档/教程说至少必须1>实现其方法android.app.Activity
,为什么onCreate()
不是设计抽象的。
来自http://developer.android.com/guide/components/activities.html
您必须实施此方法。系统在创建时调用它 你的活动。
即使没有明确提及,如果没有实现,那么拥有android.app.Activity
对象是没有意义的,或者?我理解parrent需要在onCreate()
的自己实现中执行代码,但是当父onCreate()
的一部分调用抽象回调方法时,肯定会有设计需要通过开发者。
此设计示例:
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
?
答案 0 :(得分:4)
“此方法的默认实现执行先前已被onSaveInstanceState(android.os.Bundle)冻结的任何视图状态的恢复。”
答案 1 :(得分:3)
为什么android.app.Activity不是设计抽象的,如果文档/教程说至少它的方法onCreate()必须实现。
对文件提出过多的抗议。您没有 来实施onCreate()
。您可以通过创建没有onCreate()
并运行它的活动来判断这一点。
没有实现,没有任何关注android.app.Activity对象,或者?
欢迎您小心地在其他地方设置您的用户界面(例如onResume()
)。通常,您可以在onCreate()
中执行此操作。
我理解parrent需要在onCreate()的自己实现中执行代码,但是当父onCreate()的一部分调用抽象回调方法时,肯定会有设计需要由显影剂。
不确定。他们选择不这样做。
答案 2 :(得分:0)
建议您在onCreate
中设置您的活动,但不是必需的。假设我不关心我的活动生命周期,我可以在onResume
中设置所有内容并在onPause
中删除它。提供从onCreate
调用的抽象方法比任何方法都更具限制性。
注意:我不是建议任何人这样做 - 只要你可以,如果你真的想要。