我需要在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"
如何在不更改清单的情况下解决此问题?
答案 0 :(得分:2)
当您声明android:configChanges="keyboardHidden|orientation|screenSize"
时,不会调用onSaveInstanceState
/ onRestoreInstanceState
对。原因是活动不会像通常那样被破坏和重新创建,因此您没有要保存/恢复的状态。在这种情况下,您必须覆盖onConfigurationChanged
回调,但无论如何都应保留MODE
的值。请注意,处理方向更改强烈建议不要