0
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?"); 
    } 
} 

Этот код показывает следующее сообщение об ошибке:ActionProvider не могут быть преобразованы в ShareActionProvider

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> 

Пожалуйста, помогите.

ответ

0

android.widget.ShareActionProvider и android.support.v7.widget.ShareActionProvider не являются тем же классом. Измените свой импорт в соответствии с вашим actionProviderClass.

-1

Это сработало для меня, попробуйте. import android.support.v7.widget.ShareActionProvider удалить его и добавить этот импорт: import android.widget.ShareActionProvider;

code

Смежные вопросы