gpt4 book ai didi

android - 无法在 Android 的弹出菜单中创建 "Share"菜单

转载 作者:塔克拉玛干 更新时间:2023-11-02 18:59:53 30 4
gpt4 key购买 nike

我有一个 Android 应用程序,里面有一个 GridView 。 gridview 项目包含一个显示上下文相关菜单的按钮。因此,我实现了一个弹出菜单,当他们触摸 gridview 项目中的按钮时出现。

此菜单包含 3 个项目:

  1. 编辑项目
  2. 删除项目
  3. 分享项目

我已经成功实现了编辑和删除菜单项。问题出在“共享项目”菜单项上。它是一个 ShareActionProvider。我之前将这些菜单选项实现为 ActionMode(顶部的菜单项)。但是现在菜单是一个弹出窗口,我不确定如何实现“共享项目”菜单选项。

这是我的 popup_menu.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">
<group android:id="@+id/group_edit_mode">
<item
android:id="@+id/MenuItemEdit"
android:title="@string/item_option_edit"
app:showAsAction="withText|ifRoom" />

<item
android:id="@+id/MenuItemDelete"
android:title="@string/delete"
app:showAsAction="withText|ifRoom" />

<item
android:id="@+id/MenuItemShare"
android:title="@string/share"
app:showAsAction="ifRoom"
app:actionProviderClass="android.support.v7.widget.ShareActionProvider"/>
</group>
</menu>

弹出菜单代码如下:

                PopupMenu popupMenu = new PopupMenu(MINMainActivity.getSharedInstance(), optionButton);
MenuInflater inflater = popupMenu.getMenuInflater();
inflater.inflate(R.menu.gridview_edit_menu_single_item, popupMenu.getMenu());
popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener()
{
@Override
public boolean onMenuItemClick(MenuItem item)
{
boolean choiceHandled = false;
int itemID = item.getItemId();
switch (itemID)
{
case R.id.MenuItemEdit:
MINPageTypeGridFragment.launchAlbumItemDetails(mFragment, albumItem, mPageItem.pageConfigFileName);
mFragment.currentMode = MINPageTypeGridFragment.MODE_STANDARD;
choiceHandled = true;
break;
case R.id.MenuItemDelete:
MINPageTypeGridFragment.deleteItem(mFragment, mAlbum, albumItem);
mFragment.currentMode = MINPageTypeGridFragment.MODE_STANDARD;
choiceHandled = true;
break;
case R.id.MenuItemShare:
choiceHandled = true;
mFragment.currentMode = MINPageTypeGridFragment.MODE_STANDARD;
break;
}
return choiceHandled;
}
});
popupMenu.show();

最佳答案

这是想多了。我只是将它保留为一个按钮并创建了一个选择器。

public void onShareClick(MINAlbumItem albumItem)
{
List<MINAlbumItem> albumItemsArray = new ArrayList<MINAlbumItem>();
albumItemsArray.add(albumItem);

// Creates intent and loads data from items array
Intent intent = mFragment.Share(albumItemsArray);
MINMainActivity.getSharedInstance().startActivity(Intent.createChooser(intent, MINMainActivity.getSharedInstance().getResources().getString(R.string.send_to)));
}

关于android - 无法在 Android 的弹出菜单中创建 "Share"菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33048187/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com