0

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

<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 可检查的子菜单选项

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

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

4

1 回答 1

1

菜单的想法是让用户选择现在应该发生的事情 - 然后去做。

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

只需调用一个带有小布局的复选框和一个按钮的 Activity 即可保存更改。

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

于 2013-09-24T15:42:53.367 回答