Android屏幕在方向更改时变为空白; onConfigurationChanged被调用

时间:2013-04-23 06:52:26

标签: android android-activity

当我的活动(带有两个标签的标签活动)方向发生变化时,标签的内容,即具有项目列表视图的另一个活动(带复选框),GOES BLANK。我在清单文件中使用了android:configChanges="screenSize|orientation",因此我不希望在方向更改时清除(或重新创建)复选框。

有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:4)

要在Android中的活动中保存View的状态,您需要实施onSaveInstanceState(Bundle outState)onRestoreInstanceState(Bundle savedInstanceState)方法。有关这些方法的更多信息,请参阅Android Developer Guide

在配置更改(方向更改)中销毁活动时,将调用

onSaveInstanceState(Bundle outState)。您可以在此方法中向数据包添加数据,然后在使用onRestoreInstanceState(Bundle savedInstanceState)重新启动活动时检索数据。

例如:

@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
    super.onRestoreInstanceState(savedInstanceState);
    // Read values from the "savedInstanceState" bundle and put them back into the corresponding textviews
}

@Override
protected void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);
    // Save the values you need from your textviews into the outState object
}

有关如何将数据保存到捆绑包中的更多详细信息,请参阅Android Developer Guide。这也解释了使用onCreate(Bundle savedInstanceState)onRestoreInstanceState(Bundle savedInstanceState)恢复状态之间的区别。

相关问题