无法识别菜单项ID

Ale*_*x F 1 resources android android-menu

菜单/ 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>
Run Code Online (Sandbox Code Playgroud)

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;
}
Run Code Online (Sandbox Code Playgroud)

为什么menu_save_log无法识别?

附加信息.R.java:

public static final class menu {
    public static final int activity_main=0x7f070000;
}
Run Code Online (Sandbox Code Playgroud)

R.java没有更新.为什么?

Rol*_*f ツ 6

不知道它可能是什么,但Eclipse/Android Studio很可能还没有识别出新ID.最好的办法是:

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

在Eclipse中:

project --> clean...
Run Code Online (Sandbox Code Playgroud)