Java 如何将菜单项添加到操作栏?

Java 如何将菜单项添加到操作栏?,java,android,android-actionbar,r.java-file,android-optionsmenu,Java,Android,Android Actionbar,R.java File,Android Optionsmenu,我正在尝试将菜单项添加到操作栏。 菜单/main.xml: <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/change_language" android:showAsAction="always"

我正在尝试将菜单项添加到操作栏。 菜单/main.xml:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:id="@+id/change_language"
        android:showAsAction="always"
        android:title="JP">
    </item>
    <item
        android:id="@+id/lists"
        android:icon="@android:drawable/ic_menu_agenda"
        android:showAsAction="always"
        android:title="Lists">
    </item>
    <item
        android:id="@+id/collections"
        android:icon="@android:drawable/ic_menu_star"
        android:showAsAction="ifRoom"
        android:title="Collections">
    </item>

</menu>
它没有给出任何错误。我已经检查了R.java。没有提及“集合”。Intellicence在写“R.id”时也不会给出提示 如何将菜单项添加到操作栏?也许这是因为,我发布了谷歌游戏的应用程序。但是,我已将debugable设置为“true”

上面的showAsAction属性使用中定义的自定义命名空间 标签。当使用由定义的任何XML属性时,这是必需的 支持库,因为这些属性在 旧设备上的Android框架。因此,您必须使用自己的名称空间 作为支持库定义的所有属性的前缀

因此,请将此添加到标记“xmlns:yourapp=”http://schemas.android.com/apk/res-auto“'


并如下设置showAsAction属性:您的应用程序:showAsAction=“always”在您的项目中

R.java
不包含
id.collections
,它只包含
main.xml
,如下所示:

public static final class menu {
    public static final int main=0x7f0e0000;
}
此外,您的应用程序发布与此问题无关

您的
R.id.change\u语言在哪里?如果要创建带有图标和标题的自定义actionbar,必须修改
main.xml
,并添加如下自定义布局:

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

<item
    android:id="@+id/collection"
    android:actionLayout="@layout/your_custom_layout"
    android:showAsAction="ifRoom|withText"
    android:title="ActionBar"/>

</menu>

您的_custom_layout.xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >

<ImageView
    android:id="@+id/your_imageview"
    android:background="@android:drawable/ic_menu_star" />

<TextView 
    android:id="@+id/change_language"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

</RelativeLayout>

然后,您可以在创建选项菜单的
功能中
查找视图ID


希望这能有所帮助

是的,看起来像这样。我还有另外两个菜单项。他们正在工作。但最后添加的“集合”菜单项不是。我不知道为什么。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >

<ImageView
    android:id="@+id/your_imageview"
    android:background="@android:drawable/ic_menu_star" />

<TextView 
    android:id="@+id/change_language"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

</RelativeLayout>