如何防止菜单在Android中单击项时消失?

时间:2019-06-19 16:16:08

标签: android kotlin android-menu

我有一个菜单,其中所有项目都有一个复选框。 因此,它就像一个多选菜单。 我不希望单击某个项目时关闭菜单。 我只想关闭后按菜单。 但是我不知道该怎么做?

这是代码:

override fun onOptionsItemSelected(item: MenuItem): Boolean {
    when(item.itemId) {
        R.id.my_item -> {
            // toggle    
        }
    }

    // something to do here?
    // changing return value to true or false doesn't help
    return false
}

2 个答案:

答案 0 :(得分:0)

该实现隐藏在本机Android菜单管理下,并且您仅获得所选菜单项的回调。 最好将所有选择项移动到AlertDialog(There is simple example I have just googled,并且只有一个菜单项开始显示AlertDialog

答案 1 :(得分:0)

您必须将menu items包装在group标记内。请参考下面的代码:

<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <group android:checkableBehavior="all">
        <item android:id="@+id/item1"
              android:titleCondensed="Options"
              android:title="Title 1"
              android:icon="@android:drawable/ic_menu_preferences">
        </item>
        <item android:id="@+id/item2"
              android:titleCondensed="Persist"
              android:title="Title 2"
              android:icon="@android:drawable/ic_menu_preferences"
              android:checkable="true">
        </item>
    </group>
</menu>

点击链接以了解有关checkable menu items

的更多信息