动作模式子菜单和checkableBehavior

时间:2016-12-28 21:12:15

标签: android android-actionmode

我对子菜单和android有一个奇怪的问题:checkableBehavior =“single”。如果菜单在操作栏中,它可以正常工作,但如果菜单处于操作模式,则显示复选框而不是单选按钮。我使用AppCompatActivity并使用startActionMode()创建动作模式。

menu xml:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <item
        android:id="@+id/priority"
        android:title="@string/priority"
        app:showAsAction="ifRoom">

        <menu>
            <group android:checkableBehavior="single">
                <item
                    android:id="@+id/low_priority"
                    android:title="@string/low_pririty"/>
                <item
                    android:id="@+id/normal_priority"
                    android:title="@string/normal_priority"/>
                <item
                    android:id="@+id/high_priority"
                    android:title="@string/high_priority"/>
            </group>
        </menu>
    </item>
</menu>

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

使用startSupportActionMode方法代替startActionMode方法,您可以使用该菜单。使用支持库startActionMode时,不应使用AppCompatActivity方法。

.startSupportActionMode(new android.support.v7.view.ActionMode.Callback() {
            @Override
            public boolean onCreateActionMode(android.support.v7.view.ActionMode mode, Menu menu) {
                MenuInflater inflater = mode.getMenuInflater();
                inflater.inflate(R.menu.test_menu, menu);
                return true;
            }

            @Override
            public boolean onPrepareActionMode(android.support.v7.view.ActionMode mode, Menu menu) {
                return false;
            }

            @Override
            public boolean onActionItemClicked(android.support.v7.view.ActionMode mode, MenuItem item) {
                return false;
            }

            @Override
            public void onDestroyActionMode(android.support.v7.view.ActionMode mode) {

            }
        });