【问题标题】:ActionProvider cannot be converted to ShareActionProviderActionProvider 无法转换为 ShareActionProvider
【发布时间】:2015-10-14 19:46:46
【问题描述】:
import android.widget.ShareActionProvider;
...
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    inflater.inflate(R.menu.detailfragment, menu);
    MenuItem menuItem = menu.findItem(R.id.action_share);
    ShareActionProvider mShareActionProvider = (ShareActionProvider)MenuItemCompat.getActionProvider(menuItem);

    if (mShareActionProvider != null) {
        mShareActionProvider.setShareIntent(createShareForecastIntent());
    } else {
        Log.d(LOG_TAG, "Share Action Provider is null?");
    }
}

此代码显示以下错误:

incompatible types: ActionProvider cannot be converted to ShareActionProvider

以下是detailfragment.xml文件:

<?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/action_share"
        android:title="@string/action_share"
        app:showAsAction="always"
        app:actionProviderClass="android.support.v7.widget.ShareActionProvider" />
</menu>

请帮忙。

【问题讨论】:

    标签: java android android-intent android-studio shareactionprovider


    【解决方案1】:

    android.widget.ShareActionProviderandroid.support.v7.widget.ShareActionProvider 不是同一个类。更改您的导入以匹配您的 actionProviderClass

    【讨论】:

      【解决方案2】:

      它对我有用,试一试。 import android.support.v7.widget.ShareActionProvider 删除它并添加这个导入: import android.widget.ShareActionProvider;

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-08-11
        • 1970-01-01
        • 1970-01-01
        • 2023-02-02
        • 2016-06-30
        • 2016-01-14
        • 2013-07-25
        • 2016-07-05
        相关资源
        最近更新 更多