Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/221.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 移除项目时Android CAB强制溢出菜单_Java_Android_Android Actionbar - Fatal编程技术网

Java 移除项目时Android CAB强制溢出菜单

Java 移除项目时Android CAB强制溢出菜单,java,android,android-actionbar,Java,Android,Android Actionbar,在我的应用程序中,我有一个带有四个菜单项的CAB。其中两个显示,另两个在溢出菜单中。在我的代码中,当用户在listview中选择了多个项目时,其中一个项目将被删除。删除该项后,溢出菜单消失,其余三项全部显示。我希望它继续显示两个项目,并隐藏在溢出菜单中的其余一个 菜单布局: <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"

在我的应用程序中,我有一个带有四个菜单项的CAB。其中两个显示,另两个在溢出菜单中。在我的代码中,当用户在listview中选择了多个项目时,其中一个项目将被删除。删除该项后,溢出菜单消失,其余三项全部显示。我希望它继续显示两个项目,并隐藏在溢出菜单中的其余一个

菜单布局:

<?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>

谢谢你的帮助

使用时,您没有使用上下文操作栏的支持库版本-您的代码只支持API11+设备

您可以将
app:showAsAction
替换为
android:showAsAction
,以符合平台上下文操作栏的要求(如果要抑制lint错误,请使用
tools:ignore=“AppCompatResource”
)或者切换到以响应长时间单击列表项并自行管理检查状态。

使用时,您没有使用上下文操作栏的支持库版本-您的代码将仅支持API11+设备


您可以将
app:showAsAction
替换为
android:showAsAction
,以符合平台上下文操作栏的要求(如果要抑制lint错误,请使用
tools:ignore=“AppCompatResource”
)或者切换到以响应长时间单击列表项并自行管理检查状态。

如果您使用的是
appcompat-v7
,您的菜单资源XML看起来会满足您的需要。如果您试图使用本机操作栏(即,您是从
活动
继承的,而不是
操作栏活动
),则将
app:showAsAction
更改为
android:showAsAction
,并完全摆脱
应用
命名空间。您是如何启动CAB的?Via?@Commonware我正在使用ActionBarActivity,但它并没有显示我希望它的样子。删除第一项后,溢出菜单消失,最后一项显示,即使它被设置为从不显示。@ianhanniballake cab从MultiChoiceModelListener启动,并在onCreateActionMode中充气。如果您使用的是
appcompat-v7
,菜单资源XML看起来会满足您的需要。如果您试图使用本机操作栏(即,您是从
活动
继承的,而不是
操作栏活动
),则将
app:showAsAction
更改为
android:showAsAction
,并完全摆脱
应用
命名空间。您是如何启动CAB的?Via?@Commonware我正在使用ActionBarActivity,但它并没有显示我希望它的样子。删除第一项后,溢出菜单消失,最后一项显示,即使它被设置为从不显示。@ianhanniballake cab是从MultiChoiceModelListener启动的,并在onCreateActionMode中充气。Android Studio给我一个错误,即在使用appcompat库应用程序时:showAsAction必须被解析。代码本身的功能已经很好了,但是它并没有按照我希望的方式显示。是的,当你使用AppCompat时,你需要使用app:showaAction。但是,如果使用的是
setMultiChoiceModeListener()
,则不使用AppCompat。您可以添加
tools:ignore=“AppCompatResource”
来忽略错误。感谢您的帮助!奇怪的是,Android Studio在实际运行正常时会给出错误。如果使用
startSupportActionMode()
对于API 11之前的上下文操作栏-不幸的是,lint检查似乎只是查看您的项目中是否有AppCompat,而不知道您不会仅在这一个菜单中使用AppCompat。Android Studio给我一个错误,即在使用AppCompat库应用程序时:showAsAction必须被解析。代码本身的功能已经很好了,但是它并没有按照我希望的方式显示。是的,当你使用AppCompat时,你需要使用app:showaAction。但是,如果使用的是
setMultiChoiceModeListener()
,则不使用AppCompat。您可以添加
tools:ignore=“AppCompatResource”
来忽略错误。感谢您的帮助!奇怪的是,Android Studio在实际运行正常时会给出错误。如果使用
startSupportActionMode()
对于API 11之前的上下文操作栏-不幸的是,lint检查似乎只是查看项目中是否有AppCompat,而不知道您不会仅为这一个菜单使用AppCompat。