SherlockActivity中的MenuInflater

时间:2012-11-03 14:05:23

标签: android actionbarsherlock

我试图让菜单inflater在我的SherlockActivity类中夸大菜单xml。

我的onCreateOptionsMenu方法是这样的 -

@Override
public boolean onCreateOptionsMenu(com.actionbarsherlock.view.Menu menu) {
    MenuInflater inflater = this.getSupportMenuInflater();
    inflater.inflate(R.menu.messagespagemenu, menu);
    return true;
}

和我的messagespagemenu.xml看起来像这样 -

<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
    android:id="@+id/text"
    android:title="@string/deleteall">
</item>

我的活动课程扩展了SherlockActivity。

有谁能指出我正在做的错误。

编辑:

菜单未显示。当我尝试在另一个类中的相同代码扩展SherlockListActivity然后它工作。所以我想知道我是否遗漏了这堂课中的任何内容

2 个答案:

答案 0 :(得分:1)

您可能正在预装Honeycom设备上运行此功能,只需单击硬件MenuItem键即可显示此menu。您应该在android:showAsAction:always上设置android:showAsAction:ifRoom<item>

编辑:您还应该拨打super.onCreateOptionsMenu()

答案 1 :(得分:0)

试试这个,看看是否有效:

@Override
public boolean onCreateOptionsMenu(Menu menu) {

    MenuInflater inflate = getSupportMenuInflater();
    inflate.inflate(R.menu.messagespagemenu, menu);

    return super.onCreateOptionsMenu(menu);
}

另外,请确保此部分与上面的示例完全相同:

public boolean onCreateOptionsMenu(Menu menu)

你目前有这个:

public boolean onCreateOptionsMenu(com.actionbarsherlock.view.Menu menu)

我不确定这是否有所不同,但看到它有效。相应的import应为import com.actionbarsherlock.view.Menu;