AppCompactActivity在定位android

时间:2015-05-28 08:30:46

标签: android android-activity android-appcompat

我需要在AppCompatActivity中更改方向时处理一些数据。出于某种原因我的设置

 @Override
protected void onSaveInstanceState(Bundle outState) {

    outState.putInt("mode", REDEEM);
    super.onSaveInstanceState(outState);
}

@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
    super.onRestoreInstanceState(savedInstanceState);

    MODE = savedInstanceState.getInt("mode");
}

我已经尝试了这个并且它没有用。

最有可能的原因是我的清单中有以下内容。

android:configChanges="keyboardHidden|orientation|screenSize" 

如何在不更改清单的情况下解决此问题?

1 个答案:

答案 0 :(得分:2)

当您声明android:configChanges="keyboardHidden|orientation|screenSize"时,不会调用onSaveInstanceState / onRestoreInstanceState对。原因是活动不会像通常那样被破坏和重新创建,因此您没有要保存/恢复的状态。在这种情况下,您必须覆盖onConfigurationChanged回调,但无论如何都应保留MODE的值。请注意,处理方向更改强烈建议不要