重写的 android 生命周期方法如何在 super 调用之后运行代码而不去其后续的生命周期方法

看看这个。


@Override

protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);

}


@Override

protected void onStart() {

    super.onStart();

}

假设此代码来自作为Activity类子项的正常活动。super.onCreate()是 中的第一个语句onCreate()。这个超级调用必须连接点通知父类onCreate()派生类中调用了,可以调用下一个生命周期方法,这onStart()显然是。


也就是说,执行顺序必须是这样的:

@Override

protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);              <-- ( 1 )

    setContentView(R.layout.activity_main);          <-- ( 3 )

}


@Override

protected void onStart() {

    super.onStart();                                 <-- ( 2 )

}

但它看起来像这样工作:

@Override

protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);              <-- ( 1 )

    setContentView(R.layout.activity_main);          <-- ( 2 )

}


@Override

protected void onStart() {

    super.onStart();                                 <-- ( 3 )

}

这怎么可能?


aluckdog
浏览 225回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java