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

时间:2015-01-21 15:48:40

标签: android android-actionbar orientation-changes

我试图保存操作栏显示选项,因此当方向发生变化时,我可以恢复其值。

@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

还有其他更好的方法吗?

1 个答案:

答案 0 :(得分:-1)

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());