Android ::菜单无法解析或不是字段

时间:2012-04-06 14:52:40

标签: android

@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.settings1, menu);
return true;
}

我需要帮助。我在“R.menu”收到错误,错误信息“菜单无法解析或不是字段”..谢谢

3 个答案:

答案 0 :(得分:1)

如果布局中存在错误,则不会生成R文件,因此发生此错误是正常的。

您需要首先纠正布局中的错误,然后清除,并且R将会得到解决。

答案 1 :(得分:0)

您正在使用Preference xml作为菜单引用,这就是接收此错误的原因所以请创建一个menu.xml或添加为:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
this.getMenuInflater().inflate(R.menu.options_menu, menu);
return true;
}

你可以动态添加asp>

@Override
        public boolean onCreateOptionsMenu(Menu menu) {
            menu.add(Menu.NONE, Menu.FIRST + 1, 5, "??").setIcon(
                    android.R.drawable.ic_menu_delete);
            menu.add(Menu.NONE, Menu.FIRST + 2, 2, "??").setIcon(
                    android.R.drawable.ic_menu_edit);
            return true; 
        }
        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
            switch (item.getItemId()) {
            case Menu.FIRST + 1:
               startActivity(new Intent(getBaseContext(), SettingActivity.class));
                break;
            case Menu.FIRST + 2:
               Toast.makeText(getBaseContext(), "Menu Clicked", Toast.LENGTH_SHORT).show();
                break;
            }
        return false;
    }

答案 2 :(得分:0)

检查imports。如果您从某个其他项目(可能是库项目)导入了某种.R文件,例如import com.someotherpackage.R;,则需要删除该行,然后清理项目。

现在它可能引用了错误的.R文件,或者某个名称中出现了拼写错误。