ActionBarSherlock的getMenuInflater问题

36

最近我开始使用ABS4.0,但是在使用MenuInflater时遇到了问题。

当我使用getMenuInflater()方法时,收到一个错误消息:“类型不匹配:无法从android.view.MenuInflater转换为com.actionbarsherlock.view.MenuInflater”

所以,看起来定义正在使用ABS版本的菜单填充器,但是getMenuInflater()方法返回的是基本Android版本。以下是代码:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.menu, menu);
    return super.onCreateOptionsMenu(menu);
}

有谁能告诉我在这里做错了什么吗?非常感谢!

1个回答

113
请尝试将getMenuInflater() 更改为 getSupportMenuInflater()

5
如果这段代码在一个Fragment中,你需要调用getSherlockActivity().getSuportMenuInflater() 或者通过 getActivity() 进行适当的类型转换,例如:(SherlockActivity)getActivity()... - Aaron McIver

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接