我对子菜单和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>
我该如何解决这个问题?
答案 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) {
}
});