inflater.inflate(),菜单无法解析或不是字段

时间:2013-08-19 15:18:30

标签: android menu inflate

我正在使用inflater.inflate(R.menu.menu, menu);,但此行有此错误:

menu cannot be resolved or is not a field

我在这个方法中使用了上面的函数:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    this.menu = menu;

    // Inflate the currently selected menu XML resource.
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.menu, menu);

    return true;
}

我在menu.xml文件夹中有/res/menu,并且内容为:

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

    <item
        android:id="@+id/action_settings"
        android:title="@string/settings"/>
    <item
        android:id="@+id/action_help"
        android:title="@string/help"/>
    <item
        android:id="@+id/action_about"
        android:title="@string/about"/>
    <item
        android:id="@+id/action_support"
        android:title="@string/support"/>

</menu> 

而且,在R.java中定义了R.menu:

public static final class menu {
        public static final int menu=0x7f080000;
        public static final int title_only=0x7f080001;
    }

我在Stackoverflow中看到一些重复的问题,但任何答案都无法帮我解决这个问题

请帮我解决这个问题

由于

=======================

感谢所有朋友,所有事情似乎都是正确的,但仍然存在问题 我完全关闭Eclipse并重新启动我的笔记本电脑,重启后打开Eclipse并运行我的应用程序,它运行正常且没有错误。 我真的不明白这是什么问题

2 个答案:

答案 0 :(得分:2)

我认为你是导入的android.R文件,这就是为什么它给这样的.. 检查导入的语句并导入包R.java文件..

答案 1 :(得分:1)

可能你已经实例化了错误的R.menu。你可能已经拿走了R.menu(来自android sdk)