在我的应用程序中,我有一个带有四个菜单项的CAB。显示两个,而其他两个在溢出菜单中。在我的代码中,当用户在列表视图中选择了多个项目时,将删除其中一个项目。删除该项目后,溢出菜单将消失,并显示所有其余三个项目。我希望它继续显示两个项目并隐藏溢出菜单中的剩余项目。
菜单布局:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<!--disppears when multiple items selected -->
<item
android:id="@+id/cabEdit"
android:title="Edit"
app:showAsAction="always"></item>
<item
android:id="@+id/cabDel"
android:title="Delete"
app:showAsAction="ifRoom"></item>
<item
android:id="@+id/cabRes"
android:title="Reset"
app:showAsAction="ifRoom"></item>
<!-- should always appear in overflow -->
<item
android:id="@+id/cabSelAll"
android:title="Select All"
app:showAsAction="never" ></item>
感谢您的帮助!
答案 0 :(得分:4)
当您使用setMultiChoiceModeListener()时,您没有使用支持库版本的Contextual Action Bars - 您的代码只支持API11 +设备。
您可以将app:showAsAction
替换为android:showAsAction
以符合平台上下文操作栏的要求(如果要抑制lint错误,则使用tools:ignore="AppCompatResource"
)或切换到{{ 3}}响应您对列表项的长按并自行管理检查状态。