android - getItemId 与菜单项不匹配

标签 android menu

我正在尝试创建一个 Android 菜单并使用 onOptionsItemSelected(MenuItem item) 我试图找出选择了哪个菜单项。但是,我的菜单项少了 1 个。

res/menu/settings.xml:

<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/menuSettings" android:title="@string/settings" />
<item android:id="@+id/menuVisit" android:title="@string/visitPopup" />
</menu>

我的代码如下:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
Log.v(LOG_TAG, "Menu button click!");
Log.v(LOG_TAG, Integer.toString(item.getItemId()));
Log.v(LOG_TAG, Integer.toString(R.id.menuSettings));

switch (item.getItemId()) {
case R.id.menuSettings:
    Log.v(LOG_TAG, "Trying to start Settings activity");
    startActivity(new Intent(this, SettingsActivity.class));
    return true;
case R.id.menuVisit:
    Log.v(LOG_TAG, "Trying to start menuVisit activity");
    return true;
default:
    Log.v(LOG_TAG, "Trying to start nondefined activity");
    return super.onOptionsItemSelected(item);
}

logcat 结果是:

Menu button click
2131165200
2131165201
Trying to start nondefined activity

我很困惑我做错了什么,因为这段代码在某些时候确实有效。但是由于未知原因,这停止了工作。如 logcat 输出所示,问题是 2 个 ID 号不匹配。他们相差一个。

最佳答案

进行“清理”并重新启动应用程序。它应该重新生成显然包含不同步的旧值的 R 文件。

关于android - getItemId 与菜单项不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6612103/

相关文章:

java - Android Studio 中的 Google map 错误

javascript - 在连接的下拉列表中使用 selectIndex 的值

css - 鼠标悬停时子菜单不可见

javascript - 带滑动荧光笔的 jQuery 菜单

android - 如何在 AIDE 中使用库

android - 如何在不出现内存不足异常的情况下获取相对于屏幕尺寸的缩放位图

java - 如何使用 Opencv 将 PNG 从 Java 类传递到 Android 中的 Native 类

java - 在java中拖动多个按钮 View

menu - 在 openerp 中隐藏更多和打印按钮

css - 对齐标题 - Wordpress