【问题标题】:Share button with ShareActionProvider added twice on Action Bar [duplicate]在操作栏上添加了两次带有 ShareActionProvider 的共享按钮 [重复]
【发布时间】:2015-07-03 10:13:29
【问题描述】:

操作栏中的分享按钮有问题。

截图:

如您所见,右侧有两个图标。但我只添加了一个不活动的图标(第一个)。第二个是活跃的,做我想做的(分享内容)。 因此,我只想要第一个图标与第二个图标的行为。

第二个图标从何而来??!!

菜单:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/animation_detail_share"
        android:title="@string/share"
        android:showAsAction="ifRoom"
        android:actionProviderClass=
            "android.widget.ShareActionProvider"
        />
</menu>

片段:

@Override
public void onCreate(Bundle savedInstanceState) {
    setHasOptionsMenu(true);
    super.onCreate(savedInstanceState);
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {

    return inflater.inflate(R.layout.fragment_inplace_animation_details, container, false);
}

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

    MenuItem item = menu.findItem(R.id.animation_detail_share);

    ShareActionProvider mShareActionProvider = (ShareActionProvider) item.getActionProvider();

    Intent sendIntent = new Intent();
    sendIntent.setAction(Intent.ACTION_SEND);
    sendIntent.putExtra(Intent.EXTRA_TEXT, "This is my text to send.");
    sendIntent.setType("text/plain");

    if(mShareActionProvider != null) {

        mShareActionProvider.setShareIntent(Intent.createChooser(sendIntent, getResources().getText(R.string.share)));
    }
}

我只在片段内膨胀菜单,而不是在活动中。

【问题讨论】:

    标签: android android-fragments android-actionbar android-sharing


    【解决方案1】:

    我在这里遇到了两个问题:

    1. createChooser() 创建新图标
    2. 必须添加 setShareHistoryFileName(null); 以防止显示另一个图标。

    所以最终的代码是这样的:

    ...
    mShareActionProvider.setShareHistoryFileName(null);
    mShareActionProvider.setShareIntent(sendIntent);
    ...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多