【发布时间】:2013-09-26 20:41:50
【问题描述】:
我在我的项目中使用 ActionBarSherlock,有时需要在操作栏中添加一项或多项。
在这个 BaixadosFragment 类(扩展 SherlockFragment)中,我使用了以下代码,它工作正常:
@Override
public void onCreateOptionsMenu(Menu menu,MenuInflater inflater)
{
inflater.inflate(R.menu.main, menu);
super.onCreateOptionsMenu(menu, inflater);
}
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.refresh:
refresh();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
在这种情况下,我添加了一个刷新按钮,女巫在 main.xml 中是孤独的
但是我想在 CupomDetalheActivity 上做同样的事情(尽管添加了一个分享按钮),女巫扩展了 SherlockFragmentActivity。所以我无法覆盖“onCreateOptionsMenu”,因为它有不同的签名(如下):
//this is inside SherlockFragmentActivity
public final boolean onCreateOptionsMenu(android.view.Menu menu) {
return true;
}
//this is inside SherlockFragment
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
//Nothing to see here.
}
使用 SherlockFragmentActivity,我什至看不到在哪里可以使用充气机来调出包含共享按钮的 xml... 我非常感谢任何想法和建议...
[编辑] 根据 DroidT 的建议,这很有效:
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
MenuInflater inflater = getSupportMenuInflater();
inflater.inflate(R.menu.share, menu);
super.onCreateOptionsMenu(menu);
return true;
}
【问题讨论】:
标签: android android-actionbar actionbarsherlock