您的位置:首页 > 产品设计 > UI/UE

Exception: This is not supported, use MenuItemCompat.getActionProvider()

2017-01-15 18:50 525 查看

一、异常

在做《Adding an Easy Share Action》时,AS 出现了如下 Bug:

Exception: This is not supported, use MenuItemCompat.getActionProvider()

Google 了一下,虽然也有人遇到的了问题,但是大家给出的解决方案却是五花八门,经过分析,最终找到了原因。

二、原因

经分析才知道原来是菜单配置文件中引用的
ShareActionProvider
和 Android 支持库中定义的
ShareActionProvider
不一致不一致造成的。

我的 Android 支持库是
com.android.support:appcompat-v7:25.1.0
,而我定义的菜单文件却是:

<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/menu_item_share"
android:showAsAction="ifRoom"
android:title="Share"
android:actionProviderClass=
"android.widget.ShareActionProvider" />
...
</menu>


三、解决方案

解决方案很简单:将二者改为一致

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/item_share_intent"
android:title="Share"
app:actionProviderClass="android.support.v7.widget.ShareActionProvider"
app:showAsAction="ifRoom" />
</menu>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐