我正在尝试按照此处的指南向我的操作栏添加共享提供程序: http://developer.android.com/guide/topics/ui/actionbar.html#ShareActionProvider
然而,在尝试按照我的onCreateOptionsMenu()中的指示添加以下内容
// Set up ShareActionProvider's default share intent
MenuItem shareItem = menu.findItem(R.id.action_share);
mShareActionProvider = (ShareActionProvider)
MenuItemCompat.getActionProvider(shareItem);
mShareActionProvider.setShareIntent(getDefaultIntent());
有一个错误说getIctionProvider未定义为MenuItemCompat类型,尽管它已记录在案: http://developer.android.com/reference/android/support/v4/view/MenuItemCompat.html#getActionProvider(android.view.MenuItem)
有什么想法吗?
谢谢!
答案 0 :(得分:6)
如果没有看到您的XML,请在菜单布局中定义您的actionProviderClass:
<item android:id=...
...
yourapp:actionProviderClass="android.support.v7.widget.ShareActionProvider"/>
并使用
获取对ShareActionProvider的引用ShareActionProvider shareActionProvider = (ShareActionProvider) MenuItemCompat.getActionProvider(menuItem);
请注意,documentation使用支持库中的示例。如果是这种情况,那么,在菜单布局中:
<item android:id=...
...
yourapp:actionProviderClass="android.widget.ShareActionProvider"/>
并获取对ShareActionProvider的引用:
ShareActionProvider shareActionProvider = (ShareActionProvider) menuItem.getActionProvider();