Java 行动不是';t在工具栏上以“显示”;ifRoom";

Java 行动不是';t在工具栏上以“显示”;ifRoom";,java,android,Java,Android,我的Android应用程序工具栏上的操作有问题 我有一个具有app:showAsAction=“ifRoom”属性的组,其中包含一些操作。如果使用ifRoom的项目少于4个,则一切正常。但当我添加第四个项目时,所有项目都会从工具栏中消失 它工作得很好: <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto">

我的Android应用程序工具栏上的操作有问题

我有一个具有
app:showAsAction=“ifRoom”
属性的组,其中包含一些操作。如果使用
ifRoom
的项目少于4个,则一切正常。但当我添加第四个项目时,所有项目都会从工具栏中消失

它工作得很好:

<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto">
<group android:id="@+id/group_paint"
    android:orderInCategory="1"
    app:showAsAction="ifRoom">
    <item android:id="@+id/action_layers"
        android:icon="@drawable/ic_layers_white_24dp"
        android:title="@string/action_layers"
        android:orderInCategory="3"
        app:showAsAction="ifRoom"/>
    <item android:id="@+id/action_tool"
        android:icon="@drawable/ic_properties_white_24dp"
        android:title="@string/action_tool"
        android:orderInCategory="4"
        app:showAsAction="ifRoom" />
    <item android:id="@+id/action_action1"
        android:icon="@drawable/ic_action1_white_24dp"
        android:title="@string/action_1"
        android:orderInCategory="7"
        app:showAsAction="ifRoom" />

    <item
        android:id="@+id/action_settings"
        android:icon="@drawable/ic_settings_white_24dp"
        android:title="@string/action_settings"
        android:orderInCategory="7"
        app:showAsAction="never" />
</group>
</menu>

意外结果:

<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto">
<group android:id="@+id/group_paint"
    android:orderInCategory="1"
    app:showAsAction="ifRoom">
    <item android:id="@+id/action_layers"
        android:icon="@drawable/ic_layers_white_24dp"
        android:title="@string/action_layers"
        android:orderInCategory="3"
        app:showAsAction="ifRoom"/>
    <item android:id="@+id/action_tool"
        android:icon="@drawable/ic_properties_white_24dp"
        android:title="@string/action_tool"
        android:orderInCategory="4"
        app:showAsAction="ifRoom" />
    <item android:id="@+id/action_action1"
        android:icon="@drawable/ic_action1_white_24dp"
        android:title="@string/action_1"
        android:orderInCategory="7"
        app:showAsAction="ifRoom" />
    <item android:id="@+id/action_action2"
        android:icon="@drawable/ic_action2_white_24dp"
        android:title="@string/action_2"
        android:orderInCategory="8"
        app:showAsAction="ifRoom" />

    <item
        android:id="@+id/action_settings"
        android:icon="@drawable/ic_settings_white_24dp"
        android:title="@string/action_settings"
        android:orderInCategory="7"
        app:showAsAction="never" />
</group>
</menu>


我想看到的是:工具栏上的三个操作和溢出菜单中的第四个操作。

您正在使用
元素将项目视为一个组。如果您不想将项目作为一个组来处理(例如,希望它们根据可用空间单独出现在操作栏中),请删除
元素。

您正在使用
元素将项目作为一个组来处理。如果您不想将项目视为一个组(例如,您希望它们根据可用空间单独出现在操作栏中),请删除
元素。

我使用
元素,因为我希望在单击一个按钮时能够禁用所有元素,并在单击另一个按钮时再次显示它们。我必须单独隐藏每个项目还是有其他方法?@KarolJurski:AFAIK,你需要取消项目分组并单独隐藏它们。但是,这可能很简单,只需创建一个
ArrayList
并迭代该列表,在每个列表上调用
setVisibility()
。我使用
元素,因为我希望在单击一个按钮时能够禁用所有元素,并在单击另一个按钮时再次显示它们。我必须单独隐藏每个项目还是有其他方法?@KarolJurski:AFAIK,你需要取消项目分组并单独隐藏它们。但是,这可能很简单,只需创建一个
ArrayList
并在该列表上迭代,在每个列表上调用
setVisibility()