3

我试图让菜单充气机在我的 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 时,它可以工作。所以我想知道我是否在这门课上遗漏了什么

4

2 回答 2

1

可能您正在预 Honeycom 设备上运行它,MenuItem只要您单击硬件menu键,就会显示它。你应该在你android:showAsAction:always的.android:showAsAction:ifRoom<item>

编辑: 你也应该打电话给super.onCreateOptionsMenu()

于 2012-11-03T14:20:13.857 回答
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;

于 2012-11-03T14:49:18.183 回答