2013-01-08 52 views
4

我使用ActionBarSherlock,并试图通过getSupportMenuInflator()夸大我的XML的菜单,但它给了一个错误:ActionBarSherlock:getSupportMenuInflator()是未定义

the method getSupportMenuInflator() is undefined for the type ... 

我无法找出原因它显示错误。这里是代码:

public void onCreateOptionsMenu(Menu menu) { 
    getSupportMenuInflater().inflate(R.menu.activity_main, menu); 
    ... 
} 

我该如何解决?

+0

你有没有包含在项目的ABS库? – SKK

+0

是的,这是我做的第一件事。 – user1951690

回答

14

您需要使用:

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

由于getSupportMenuInflater()是SherlockActivity方法不SherlockFragment。

+0

好的。得到它了。但现在它给出了一个错误:类型MenuInflater中的方法膨胀(int,Menu)不适用于参数(int,Menu)? – user1951690

+3

您需要导入ABS Menu和MenuItem类:'import com.actionbarsherlock.view.Menu;' 'import com.actionbarsherlock.view.MenuItem;'不是Android版本。 – Sam

0

如果您正在使用SherlockActionBar你应该implement SherlockActivity,而不是Activity and getSupportMenuInflater()将是avaliable