android PopupMenu中的可检查项目可能无法正常工作

时间:2017-10-17 07:52:39

标签: java android menu switch-statement

当我使用弹出式菜单和可检查项目时,我的应用程序出现问题。

我想在弹出菜单中实现多项检查项目但是当点击一项时,菜单会消失,尽管我已将可检查行为设置为全部

这是菜单布局

bindParam("sis", $string, $integer, $string);

这是switch语句,我猜错误在这里,但我找不到它

<menu xmlns:android="http://schemas.android.com/apk/res/android">

<group android:checkableBehavior="all">
    <item android:id ="@+id/sun"
        android:checkable="true"
        android:title="@string/sun"/>
    <item android:id ="@+id/Mon"
        android:title="@string/Mon"/>
    <item android:id ="@+id/Tus"
        android:title="@string/Tus"/>
    <item android:id ="@+id/Wed"
        android:title="@string/wed"/>
    <item android:id ="@+id/Thu"
        android:title="@string/Thu"/>
    <item android:id ="@+id/fri"
        android:title="@string/fri"/>
    <item android:id ="@+id/Sat"
        android:title="@string/Sat"/>



</group>

2 个答案:

答案 0 :(得分:0)

以下是适合您的解决方案。

点击菜单项目调用方法

keepMenuOpen(item);

这个keepMenuOpen是这样定义的。

private void keepMenuOpen(MenuItem item) {

        item.setShowAsAction(MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);
        item.setActionView(new View(HomeActivity.this));
        item.setOnActionExpandListener(new MenuItem.OnActionExpandListener() {
            @Override
            public boolean onMenuItemActionExpand(MenuItem item) {
                return false;
            }

            @Override
            public boolean onMenuItemActionCollapse(MenuItem item) {
                return false;
            }
        });
    }

答案 1 :(得分:0)

最后,我找到了解决方案(有人在facebook帮助我) 我刚刚更改了返回true以返回false