1

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

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

4

1 回答 1

4

为了在 Android 中保存 View 的状态,您需要实现onSaveInstanceState(Bundle outState)onRestoreInstanceState(Bundle savedInstanceState)方法。有关这些方法的更多信息,请参阅Android 开发人员指南

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 开发人员指南onCreate(Bundle savedInstanceState)这也解释了使用和恢复状态之间的区别onRestoreInstanceState(Bundle savedInstanceState)

于 2013-04-23T07:15:43.080 回答