机器人:checkableBehaviour ="所有"选择后子菜单仍然关闭/如何禁止子菜单关闭

时间:2013-09-24 15:04:40

标签: android android-menu

我有一个像这样的操作栏菜单

<item
    android:id="@+id/action_select_filter"
    android:title="@string/action_filter"
    app:showAsAction="ifRoom|withText">
    <menu>
        <group
            android:id="@+id/action_select_filters"
            android:checkableBehavior="all"
             >
            <item
                android:id="@+id/action_filter_open"
                android:checkable="true"
                android:title="@string/action_filter_open"
                />
                ...
        </group>
    </menu>
</item>

我希望它是从操作栏下拉的多选过滤器菜单。但是当我单击其中一个选项时,子菜单会立即关闭。我希望它留在那里,直到用户决定他想要打开的所有过滤器确实打开。

我知道这个问题,但它已经很老了,解决方案就是黑客攻击。 Android checkable submenu options

我也尝试从onOptionsItemSelected(MenuItem item)返回false / true。

那么如何抑制这种默认行为?

1 个答案:

答案 0 :(得分:1)

菜单的想法是让用户选择现在应该发生的事情 - 然后再进行操作。

如果您有多个复选框,用户可以设置或取消设置过滤器,那么我的建议是遵循Android设计指南:

只需使用小布局复选框和按钮来调用活动以保存更改。

不那么复杂的用户体验和更稳定的应用程序(没有黑客)将在您身边。