将此方法添加到我的课程中时出现此错误:
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
// Inflate your menu.
getSupportMenuInflater().inflate(R.menu.share_action_provider, menu);
// Set file with share history to the provider and set the share intent.
MenuItem actionItem = menu.findItem(R.id.menu_item_share_action_provider_action_bar);
ShareActionProvider actionProvider = (ShareActionProvider) actionItem.getActionProvider();
//actionProvider.setShareHistoryFileName(ShareActionProvider.DEFAULT_SHARE_HISTORY_FILE_NAME);
// Note that you can set/change the intent any time,
// say when the user has selected an image.
actionProvider.setShareIntent(createShareIntent());
return true;
}
以下是我如何申报该课程:
public class MainActivity extends SherlockActivity implements ActionBar.OnNavigationListener
我在其他项目中使用此方法而且我没有收到该错误。有谁知道为什么这个错误开始发生在这里?
谢谢!
答案 0 :(得分:9)
SherlockActivity确实将这些方法覆盖为final,因此框架可以自行处理。
要解决此问题,只需从Menu,MenuItems等中删除导入,然后从com.sherlockbar导入,因为您要覆盖正确的方法。
答案 1 :(得分:2)
您可能使用了错误的Menu
类。
SherlockActivity
会覆盖并最终确定Android标准onCreateOptionsMenu(android.view.Menu menu)
方法。
它还声明了(新的,重载的)方法onCreateOptionsMenu(Menu menu)
,它采用com.actionbarsherlock.view.Menu
。