本文介绍了如何共享语境中的操作栏使用ShareActionProvider多个文件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有我的活动一个ListView。在该列表视图中长preSS,我有上下文操作栏打开。它有一个共享选项共享通过Gmail / WhatsApp的列表中选定的项目(多可以选择项)/等。

<项目
        机器人:ID =@ + ID / menu_share
        机器人:标题=分享
        机器人:图标=@机器人:可绘制/ ic_menu_share
        机器人:actionProviderClass =android.widget.ShareActionProvider
        应用:showAsAction =ifRoom/>

这是菜单布局文件分享我的选择。

我有一个类实现ActionMode.Callback处理上下文操作栏和图标。

我初始化重写 onCreateActionMode(ActionMode模式,菜单菜单)内的ShareActionProvider对象共享菜单项。

  mShareActionProvider =(ShareActionProvider)menuItem.getActionProvider();

我的列表视图中包含文件名。
我的要求是,如果用户选择列表视图(第一长preSS再正常preSS为连续选择)多个项目,我应该能够分享所有这些文件。

我用的是下面这样一个意图(对应于列表视图中的文件名的所有文件的音频 - AMR文件)。

 意图shareIntent =新意图(Intent.ACTION_SEND_MULTIPLE);
shareIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM,uriList);
shareIntent.setType(音频/ AMR);

下面,uriList是尤里斯的ArrayList。现在我应该在哪里调用的方法 mShareActionProvider.setShareIntent(意向);

我不能把它在 onCreateActionMode(ActionMode模式,菜单菜单),因为用户可以在第一长$ P后,在列表中选择一些项目$ PSS。

如果我直接在 onActionItemClicked(ActionMode模式,菜单项项)称之为,我的分享图标似乎无效。

如果我把它在这两个 onCreateActionMode(ActionMode模式,菜单菜单) onActionItemClicked(ActionMode模式,菜单项的项目),共享意图似乎并没有被更新。请帮助..


解决方案

Try calling it there, but also call it again in onItemCheckedStateChanged(), when the mix of checked items changes, providing a new Intent that has the updated extras.

这篇关于如何共享语境中的操作栏使用ShareActionProvider多个文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-18 20:32