1

我的 android 应用程序使用溢出菜单进行设置、关于、反馈等。

通过扩展 PreferenceFragment 提供设置屏幕。

我的最小 sdk 是 14 我的目标 sdk 是 17。

当我的用户从我的溢出菜单中单击设置选项并转换到我的首选项屏幕时,溢出图标仍然可见,用户可以再次单击它并选择设置,这让他们继续访问“另一个”首选项屏幕。

阻止这种情况发生的正确方法是什么?

当首选项片段可见时,我应该如何禁用溢出菜单?
并在用户从首选项片段返回时重新启用它?

4

1 回答 1

1
  1. 创建一个变量来检查首选项片段是否不可见(isPrefsHiddden)。
  2. 如果显示首选项片段(isPrefsHidden==false),则对 onPrepareOptionsMenu 进行此更改以隐藏选项菜单。


    @Override
    public boolean onPrepareOptionsMenu (Menu menu) {
        //hide options menu if preference fragment is visible
        return isPrefsHidden;
    }

  1. 当首选项片段不再可见时,将变量更改为 true 以再次激活选项菜单。每当您更改变量时,您都必须调用 invalidateOptionsMenu() 以便 GUI 正确更新。
于 2015-08-20T12:33:17.140 回答