ABS - 片段 - 菜单通胀问题

时间:2013-06-05 05:36:08

标签: java android android-fragments actionbarsherlock android-menu

因此我遇到了以下问题getSupportMenuInflater() is undefined

此项目正在使用ActionBarSherlockViewPagerIndicator个库。

我确定这个问题与我的ABS导入无关,但它似乎只发生在我的实际Fragment类extends SherlockFragment但是我的Main类中的菜单项没有问题其中extends SherlockFragmentActivity

现在我尝试简单地更改我的片段类以扩展SherlockFragmentActivity。但是,在这样做的时候,我强制删除所有@Override,然后我以下面的错误结束

The method onActivityCreated(Bundle) is undefined for the type SherlockFragmentActivity

代码

public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater Inflater = getSupportMenuInflater();
    Inflater.inflate(R.menu.menu_main, menu);
    return true;    
    }

已解决更新了以下代码。

 public void onCreateOptionsMenu(Menu menu) {
    getSherlockActivity().getSupportMenuInflater().inflate(R.menu.menu_main, menu);
    return;

1 个答案:

答案 0 :(得分:1)

您需要使用:

getSherlockActivity().getSupportMenuInflater().inflate(R.menu.activity_main, menu);

因为getSupportMenuInflater()是Sherlock Activity中的一种方法,而不是Sherlocks Fragment。

Reference Link