代码之家  ›  专栏  ›  技术社区  ›  user2910566

什么是android中的OnCreate方法

  •  31
  • user2910566  · 技术社区  · 11 年前

    我是android的新手,试图理解以下方法的作用

    public void onCreate(Bundle savedInstanceState)
    {
            super.onCreate(savedInstanceState);
            // load the layout
            setContentView(R.layout.filters); 
    }
    

    我的研究 ::

    • onCreate用于启动活动
    • super用于调用父类构造函数
    • setContentView用于设置xml

    但这一切加在一起是什么-

    • onCreate(Bundle savedInstanceState) ……为什么那个包裹来了 那里,是什么
    • 那是什么 super.onCreate(savedInstanceState);

    用外行的话解释一下会有帮助

    5 回复  |  直到 11 年前
        1
  •  24
  •   oiyio    9 年前

    如果将应用程序的状态保存在捆绑包中(通常是onSaveInstanceState中的非持久动态数据),则如果需要重新创建活动(例如,方向更改),则可以将其传递回onCreate。如果方向发生变化(即将设备从横向模式旋转到纵向模式,反之亦然),则会重新创建活动,并再次调用onCreate()方法,这样您就不会丢失这些先前的信息。如果未提供任何数据,则savedInstanceState为null。

    欲了解更多信息 http://developer.android.com/guide/topics/resources/runtime-changes.html

        2
  •  13
  •   i5h4n    11 年前

    捆绑包用于保存&恢复活动的状态信息。在方向更改或应用程序被终止等情况下,或在任何其他导致再次调用onCreate()的情况下,savedInstanceState捆绑包可用于重新加载以前的状态信息。 熟悉 this article about Activity lifecycle 会有所帮助。

        3
  •  2
  •   Ahmed Mohammed    5 年前

    由于onCreate方法被重写,因此super关键字用于调用基类的onCreate方法。我想

        4
  •  2
  •   Giulio Caccin    5 年前

    第一 super.onCreate(savedInstanceState); 调用中的方法 superclass 并已保存 InstanceState 如果有任何东西损坏了活动,则将其保存在 instanceState 因此,当重新加载活动时,它将与以前相同。

        5
  •  1
  •   Code-Apprentice    5 年前

    super用于调用父类构造函数

    super.onCreate(savedInstanceState); 调用 onCreate() 方法,而不是构造函数。