8
私はアンドロイドアプリにグリッドビューを持っています。グリッドビュー項目には、とりわけ、コンテキスト依存メニューを表示するボタンが含まれています。そこで、私は、gridviewアイテムのボタンに触れるとポップアップメニューを表示しました。Androidのポップアップメニューに「共有」メニューを作成できません
- アイテムの編集
- 項目の削除
- 共有アイテム
私が正常に編集を実施し、メニュー項目を削除しています
は、このメニューは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();