Android 是否有一种方法可以确定onCreate()是否在onResume()之前被调用
是否有一种方法可以确定onCreate()是否在onResume()之前被调用 我不想在onCreate()中执行视图初始化等操作,但我不想在onResume()中再次执行这些操作,我仍然希望每次恢复时都执行这些操作Android 是否有一种方法可以确定onCreate()是否在onResume()之前被调用,android,android-lifecycle,Android,Android Lifecycle,是否有一种方法可以确定onCreate()是否在onResume()之前被调用 我不想在onCreate()中执行视图初始化等操作,但我不想在onResume()中再次执行这些操作,我仍然希望每次恢复时都执行这些操作 是否有方法确定在输入当前onResume()之前是否刚刚创建了应用程序?没有内置的系统调用来告诉您是否调用了onResume(),因为该活动只是暂停了,还是因为完全重新创建了该活动。所以你必须自己跟踪它 在onCreate()中设置一个布尔值,然后在onResume()中检查它相对
是否有方法确定在输入当前onResume()之前是否刚刚创建了应用程序?没有内置的系统调用来告诉您是否调用了
onResume()
,因为该活动只是暂停了,还是因为完全重新创建了该活动。所以你必须自己跟踪它
在onCreate()
中设置一个布尔值,然后在onResume()中检查它相对容易:
为什么不总是在onResume中执行这些操作,并将它们从onCreate中删除?为什么不只在onResume()
中将您想要的内容放在onResume()
中?它是用onCreate()
调用的。只需在onCreate
中初始化一个计数器,计算调用了多少次onResume
?在每次调用onCreate
时,将计数器设置为0。在恢复时的onResume
中,检查(并随后递增)计数器。如果它是0,onCreate
刚刚被调用,如果它不是零,则活动已恢复(noonCreate
调用)。这不是我的代码,出于某种原因,某些内容必须在onCreate()中初始化,如绘制视图或其他。但是我希望这些东西也能在onResume()中运行。
public class MainActivity extends AppCompatActivity {
private boolean didCreate;
@Override
protected void onCreate(Bundle savedInstanceState) {
...
this.didCreate = true;
}
@Override
protected void onResume() {
...
if (didCreate) {
...
} else {
...
}
this.didCreate = false;
}
}