无法检索ActionBar中的菜单项

时间:2013-12-02 10:20:20

标签: android menu android-actionbar

所以我有这个菜单:

<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
    android:id="@+id/action_settings"
    android:orderInCategory="100"
    android:showAsAction="always"
    android:title="Settings">
</item>

我将这个添加到View中:

@Override
public boolean onCreateOptionsMenu(Menu menu) {

    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

然后我想在它真正显示之前设置Text,它认为我必须这样做:

@Override
public boolean onPrepareOptionsMenu(Menu menu) {
    MenuItem item = menu.getItem(R.id.action_settings);
    item.setTitle(langRes.getTextForKey("settings"));
    return super.onPrepareOptionsMenu(menu);
}

我得到一个IndexOutofBoundsException,当我在onPrepareOptionsMenu中调试它时菜单不包含任何项目!!我做错了什么?

1 个答案:

答案 0 :(得分:1)

您必须使用MenuItem item = menu.findItem(R.id.action_settings);代替MenuItem item = menu.getItem(R.id.action_settings);,否则您的问题将得到解决。