java - 被覆盖的 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 )
}
这怎么可能?
解决方案
推荐阅读
- c# - 将绑定参数传递给 PL SQL 更新语句
- node.js - 节点 js 生成过程挂起
- php - 在 Web 应用程序的有效页面之间获取带参数的路径?
- angular - 使用 Angular HttpClient 过滤结果
- html - 是否可以在父元素的 onclick 处理程序之前有一个触发器?
- google-cloud-platform - 如何从共享 CPU 实例禁用 Google Cloud Plat 上的突发?
- python - 如何输出我的数据集的地图?
- python - 在 Pandas 中绘图不会显示所有数据
- selenium-webdriver - 尝试从 excel 中获取数据时出现数据提供程序不匹配错误
- vba - 根据关键字查找要复制的特定范围