为什么需要检查 OnCreate 内部的 savedInstanceState?
Why is it necessary to check savedInstanceState inside of OnCreate?
onCreate()
方法中 if 块的用途是什么?为什么要检查savedInstanceState是否为null?
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment())
.commit();
}
}
当您的 activity 被重新创建时,例如在屏幕旋转或其他 configuration change 之后,片段会自动重新附加。通过检查 savedInstanceState == null
,您可以确保您没有重新添加已经为您添加的片段。
这样一来,您就可以记住某人上次离开您的应用程序时所在的位置。因此,例如 chrome 会记住您上次访问的标签页。
onCreate()
方法中 if 块的用途是什么?为什么要检查savedInstanceState是否为null?
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment())
.commit();
}
}
当您的 activity 被重新创建时,例如在屏幕旋转或其他 configuration change 之后,片段会自动重新附加。通过检查 savedInstanceState == null
,您可以确保您没有重新添加已经为您添加的片段。
这样一来,您就可以记住某人上次离开您的应用程序时所在的位置。因此,例如 chrome 会记住您上次访问的标签页。