Android 获取有关方向更改的操作栏显示选项

Android 获取有关方向更改的操作栏显示选项,android,android-actionbar,orientation-changes,Android,Android Actionbar,Orientation Changes,我试图保存actionbar显示选项,这样当方向改变时,我就可以恢复它的值 @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // ... if (savedInstanceState != null) { actionbar.setDisplayOptions(savedInstanceState.ge

我试图保存actionbar显示选项,这样当方向改变时,我就可以恢复它的值

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// ...
    if (savedInstanceState != null) {
        actionbar.setDisplayOptions(savedInstanceState.getInt("ab_displayoptions"));
    }
// ...
}


@Override
public void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);
    outState.putInt("ab_displayoptions", actionBar.getDisplayOptions());
}
但是,当我尝试在onCreateView()中获取值时,我得到以下结果:

Must be one or more of: ActionBar.DISPLAY_USE_LOGO, ActionBar.DISPLAY_SHOW_HOME, ActionBar.DISPLAY_HOME_AS_UP, ActionBar.DISPLAY_SHOW_TITLE, ActionBar.DISPLAY_SHOW_CUSTOM

还有其他更好的方法吗?

getDisplayOptions返回一个int,而不是long。此外,还要检查它是否已设置。试试这个:

获取状态:

if (savedInstanceState != null) {
    int opts = savedInstanceState.getInt("ab_displayoptions", -1);
    if (opts != -1) {
        actionbar.setDisplayOptions(opts);
    }
}
保存状态:

outState.putInt("ab_displayoptions", actionBar.getDisplayOptions());