2

菜单/activity_main.xml:

<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/menu_settings"
        android:title="@string/menu_settings"
        android:showAsAction="never" />
    <item android:id="@+id/menu_save_log"
        android:title="@string/menu_save_log"
        android:showAsAction="never" />
</menu>

MainActivity.java:

//@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.activity_main, menu);
    return true;
}


@Override
public boolean onOptionsItemSelected(MenuItem item) {

    switch (item.getItemId()) {
    case R.id.menu_settings:      // OK
        break;
    case R.id.menu_save_log:      // menu_save_log cannot be resolved or is not a field
        break;
    }

    return true;
}

为什么无法识别 menu_save_log?

附加信息。R.java:

public static final class menu {
    public static final int activity_main=0x7f070000;
}

R.java 未更新。为什么?

4

2 回答 2

6

不确定它可能是什么,但 Eclipse/Android Studio 很可能尚未识别新 ID。最好的办法是:

  • 确保您的菜单文件已保存;
  • 尝试重建项目;

在 Eclipse 中:

project --> clean...
于 2012-10-11T09:34:56.817 回答
2

看来你需要重建你的项目。

转到 Eclipse 中的项目选项卡并清理项目。

希望对你有帮助。

于 2012-10-11T09:38:13.070 回答