安卓开发 - getMenuInflater(R.menu.main,menu)

5

我正在学习Android并跟着一个简单的相机应用程序教程。有一段代码片段,我已经复制了,但是我在它上面遇到了错误,不确定原因。

我使用的教程是:

http://iwearshorts.com/blog/android-development-102/

代码片段如下:
@Override
public boolean onCreateOptionsMenu(Menu menu){
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

在我的项目中,我遇到了R.menu.main的错误。更具体地说,在“R.menu.main”中的menu一词无法解析或不是字段。
我没有看到任何教程中我错过的内容会导致这种情况。我唯一能想到的是与使用不同版本的Android有关。但我不确定如何检查这一点。
我感谢任何建议,谢谢。
7个回答

10

menu.xml文件添加到/res/menu/文件夹中,这是一个示例:

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

    <item
        android:id="@+id/action_settings"
        android:orderInCategory="100"
        android:title="my menu Item!"
        app:showAsAction="never"/>

</menu>

哦,我没有/res/menu/文件夹。我应该创建一个吗? - Talen Kylon
嗨,FatalProphet,是的,您必須創建一個新的! - Jorgesys

1
尝试这个...
public boolean OnCreateOptionsMenu(Menu menu){
    getMenuInflater().inflate(R.menu.menu_main, menu);
    return true;
}

1
在您的res/目录上右键单击,选择新建>>Android资源文件。然后按您喜欢的名称命名菜单,但要将资源类型设置为菜单,Android Studio会为您创建它。然后在文件中,您应该找到这个内容。
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">

然后根据您的喜好添加项目。
<item 
//item attributes>
</item>

1
你可以默认将文件名 R.menu.main 更改为 R.menu.menu_main
src/main/res/menu/menu_main.xml 中添加相机项,如下所示。
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" tools:context=".MainActivity">

    <item android:id="@+id/action_camera"
        android:title="Camera"
        android:showAsAction="always"/>

</menu>

1

您之所以出现此错误,是因为Android Studio尚未使用您创建的新文件构建Gradle。

因此,您需要搜索“与Gradle Files同步项目”,然后重新启动Android Studio。

然后您就可以看到它已经识别出了res目录中的menu目录。

希望对您有所帮助。


0
public boolean OnCreateOptionsMenu(Menu menu){
    getMenuInflater().inflate(R.menu.menu_main, menu);
    return true;
}

0

你的应用程序正在寻找名为main.xml的文件,该文件位于文件夹src/main/res/menu/中。

此文件用于创建顶部操作栏内的按钮。如果您不需要这些按钮,请删除该行并仅返回false。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接