如果不覆盖 onCreate,默认值 activity 是多少?
What is the default activity if you don't override onCreate?
我对 Android 和 Java(以及 OOP)都是新手,如果这太菜鸟了,请原谅我。在完成第一个应用程序的 Android 教程时,编写了以下代码:
@Override
protected void onCreate(Bundle savedInstanceState){...}
我读到 @Override 正在覆盖默认的 onCreate 调用,如果不覆盖,则无法指定要使用的 activity。这一切都很好,但是为了理解,如果 activity_main 不是在您不覆盖 onCreate 的情况下,默认值 activity 到底是什么?
我相信你是指默认的 Activity 布局?
如果您不使用 setContentView 在 onCreate 中设置一个,我认为您根本不会有一个。
我认为您要问的是基础 class onCreate
方法的作用是什么,如果您不覆盖它会发生什么。您可以查看 Activity here, or the AppCompatActivity here 的源代码以查看基础 class 中的内容。请注意,应用程序中的典型实现如下所示
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// other custom setup code for your activity
}
第一次调用 super.onCreate
仍然 调用基础 class onCreate
方法(你正在覆盖的方法),所以你'我们不是 替换 基础 class 中的内容,而是添加特定于您正在创建的 Activity 的自定义。对 super 的调用做了很多 Activity 设置你总是必须做的事情。它不会将 activity 与任何布局文件相关联(这是通过 setContentView
调用完成的),因此如果不添加 [=] 它就不会显示 xml 文件中的任何内容14=] 呼叫。没有它会使用的 default xml 布局文件。
我对 Android 和 Java(以及 OOP)都是新手,如果这太菜鸟了,请原谅我。在完成第一个应用程序的 Android 教程时,编写了以下代码:
@Override
protected void onCreate(Bundle savedInstanceState){...}
我读到 @Override 正在覆盖默认的 onCreate 调用,如果不覆盖,则无法指定要使用的 activity。这一切都很好,但是为了理解,如果 activity_main 不是在您不覆盖 onCreate 的情况下,默认值 activity 到底是什么?
我相信你是指默认的 Activity 布局? 如果您不使用 setContentView 在 onCreate 中设置一个,我认为您根本不会有一个。
我认为您要问的是基础 class onCreate
方法的作用是什么,如果您不覆盖它会发生什么。您可以查看 Activity here, or the AppCompatActivity here 的源代码以查看基础 class 中的内容。请注意,应用程序中的典型实现如下所示
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// other custom setup code for your activity
}
第一次调用 super.onCreate
仍然 调用基础 class onCreate
方法(你正在覆盖的方法),所以你'我们不是 替换 基础 class 中的内容,而是添加特定于您正在创建的 Activity 的自定义。对 super 的调用做了很多 Activity 设置你总是必须做的事情。它不会将 activity 与任何布局文件相关联(这是通过 setContentView
调用完成的),因此如果不添加 [=] 它就不会显示 xml 文件中的任何内容14=] 呼叫。没有它会使用的 default xml 布局文件。