Android 导航抽屉旋转错误
在具有NavigationDrawer的“我的活动”中进行旋转后,Android 导航抽屉旋转错误,android,navigation-drawer,onrestoreinstancestate,Android,Navigation Drawer,Onrestoreinstancestate,在具有NavigationDrawer的“我的活动”中进行旋转后,onRestoreInstanceState Caused by: java.lang.IllegalStateException: setSelectedNavigationIndex not valid for current navigation mode at android.support.v7.internal.app.WindowDecorActionBar.setSelectedNaviga
onRestoreInstanceState
Caused by: java.lang.IllegalStateException: setSelectedNavigationIndex not valid for current navigation mode
at android.support.v7.internal.app.WindowDecorActionBar.setSelectedNavigationItem(WindowDecorActionBar.java:420)
at ir.parsdroid.telegrameducation.Tools.enhanced.onRestoreInstanceState(enhanced.java:118)
我的代码:
@Override
public void onSaveInstanceState(Bundle outState) {
// Serialize the current dropdown position.
outState.putInt(STATE_SELECTED_NAVIGATION_ITEM,
getSupportActionBar().getSelectedNavigationIndex());
}
@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
// Restore the previously serialized current dropdown position.
if (savedInstanceState.containsKey(STATE_SELECTED_NAVIGATION_ITEM)) {
getSupportActionBar().setSelectedNavigationItem(
savedInstanceState.getInt(STATE_SELECTED_NAVIGATION_ITEM));
}
}
我认为这里的逻辑是正确的,但我不知道如何将其用于导航抽屉:
也许您忘记在onCreate()中调用setNavigationMode了?api 21不推荐使用setSelectedNavigationItem和setSelectedNavigationItem。在onCreate()中调用setNavigationMode或不调用任何内容没有区别。请看我的编辑。