@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.settings1, menu);
return true;
}
我需要帮助。我在“R.menu”收到错误,错误信息“菜单无法解析或不是字段”..谢谢
答案 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
文件,或者某个名称中出现了拼写错误。