0

我不明白为什么我的代码在 xml 文件中时找不到 R.id.saveItem。任何建议为什么会发生这种情况?

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

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    case android.R.id.home:
        NavUtils.navigateUpFromSameTask(this);
        return true;
    case android.R.id.saveItem: // error - can't find saveItem
        // do something
        return true;
    }
    return super.onOptionsItemSelected(item);
}

XML 文件的一部分(detail_menu.xml):

<item
    android:id="@+id/saveItem"
    android:orderInCategory="1"
    android:showAsAction="always"
    android:title="@string/save">
</item>
4

2 回答 2

1

您正在使用case android.R.id.saveItem. 而是尝试case R.id.saveItem:

于 2013-09-05T21:07:53.267 回答
1

你不想使用 android.R。

将 'android.R.id.saveItem' 简单地替换为 'R.id.saveItem',如果 eclipse(或您使用的任何 IDE)无法解析 R,请从您自己的包结构中导入,而不是 android.R

于 2013-09-05T21:08:21.847 回答