其他分享
首页 > 其他分享> > android – ActionBar上的Share按钮出现两次

android – ActionBar上的Share按钮出现两次

作者:互联网

我在Action Bar上创建了一个分享按钮 – 但它似乎出现了两次.

菜单XML文件如下:

<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>

它在视图中的onCreateOptionsMenu中实例化.

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    inflater.inflate(R.menu.menu_detail, menu);

    MenuItem menuItem = menu.findItem(R.id.action_share);

    mShareActionProvider =
            (ShareActionProvider) MenuItemCompat.getActionProvider(menuItem);

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

    super.onCreateOptionsMenu(menu,inflater);
}

如果分享按钮被定义,膨胀和仅实例化一次,它怎么能出现两次呢?

解决方法:

您在“活动”和“片段”中两次对菜单进行充气.

消除一次通胀应解决问题.

标签:android,android-intent,android-actionbar,android-menu,android-sharing
来源: https://codeday.me/bug/20190824/1709420.html