下面列出了怎么用android.support.v7.widget.PopupMenu的API类实例代码及写法,或者点击链接到github查看源代码。
@Override
public void onClick(View v) {
if (v == ibMute) {
Volume volume = client.getConfig().getVolume();
volume.setMuted(!volume.isMuted());
update();
listener.onVolumeChanged(this, volume.getPercent(), volume.isMuted());
} else if (v == ibOverflow) {
PopupMenu popup = new PopupMenu(v.getContext(), v);
popup.getMenu().add(Menu.NONE, R.id.menu_details, 0, R.string.menu_details);
if (!client.isConnected())
popup.getMenu().add(Menu.NONE, R.id.menu_delete, 1, R.string.menu_delete);
popup.setOnMenuItemClickListener(this);
popup.show();
}
}
private void showFilteringPopUpMenu() {
PopupMenu popup = new PopupMenu(getContext(), getActivity().findViewById(R.id.menu_filter));
popup.getMenuInflater().inflate(R.menu.filter_tasks, popup.getMenu());
popup.setOnMenuItemClickListener(
item -> {
switch (item.getItemId()) {
case R.id.active:
onFilterSelected(TasksFilterType.ACTIVE_TASKS);
break;
case R.id.completed:
onFilterSelected(TasksFilterType.COMPLETED_TASKS);
break;
default:
onFilterSelected(TasksFilterType.ALL_TASKS);
break;
}
return true;
});
popup.show();
}
@Override
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
public void onPopupMenu(View anchor, final int position) {
if (!AndroidUtil.isHoneycombOrLater()) {
// Call the "classic" context menu
anchor.performLongClick();
return;
}
PopupMenu popupMenu = new PopupMenu(getActivity(), anchor);
popupMenu.getMenuInflater().inflate(R.menu.audio_list_browser, popupMenu.getMenu());
setContextMenuItems(popupMenu.getMenu(), anchor, position);
popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
return handleContextItemSelected(item, position);
}
});
popupMenu.show();
}
private void showMenu(View v, final int position, final Connection connection) {
final PopupMenu popupMenu = new PopupMenu(mContext, v);
popupMenu.inflate(R.menu.menu_connection_item);
popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_edit:
ConnectionActivity.openActivity(mContext, connection);
return true;
case R.id.action_delete:
MQTTManager.getInstance().removeClient(connection.getId());
RealmHelper.getInstance().deleteTopic(Subscription.class,connection.getId());
RealmHelper.getInstance().delete(connection);
notifyItemRemoved(position);
notifyItemRangeChanged(position, getItemCount());
return true;
default:
return false;
}
}
});
popupMenu.show();
}
public PopupCardView(Context context, final List<String> list) {
super(context, R.layout.popup_cardview);
this.list = list;
if (list != null) {
popup = new PopupMenu(getContext(), valueView);
for (int i = 0; i < list.size(); i++)
popup.getMenu().add(Menu.NONE, i, Menu.NONE, list.get(i));
popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
if (valueView != null) {
valueText = list.get(item.getItemId()) + " ";
valueView.setText(list.get(item.getItemId()) + " ");
}
if (onPopupCardListener != null)
onPopupCardListener.onItemSelected(PopupCardView.this, item.getItemId());
return false;
}
});
}
if (onPopupCardListener != null) setListener();
}
public void onMoreButtonClicked(@NonNull final BookInfo bookInfo, @NonNull View v) {
PopupMenu popup = new PopupMenu(context, v);
popup.setOnMenuItemClickListener(item -> {
switch (item.getItemId()) {
case R.id.book_overflow_delete_book:
DialogFragment confirmBatchDownloadDialogFragment = new ConfirmBookDeleteDialogFragment();
Bundle confirmDeleteDialogFragmentBundle = new Bundle();
confirmDeleteDialogFragmentBundle.putInt(ConfirmBookDeleteDialogFragment.KEY_NUMBER_OF_BOOKS_TO_DELETE, 1);
confirmDeleteDialogFragmentBundle.putInt(BooksInformationDBContract.BookInformationEntery.COLUMN_NAME_ID, bookInfo.getBookId());
confirmDeleteDialogFragmentBundle.putString(BooksInformationDBContract.BookInformationEntery.COLUMN_NAME_TITLE, bookInfo.getName());
confirmBatchDownloadDialogFragment.setArguments(confirmDeleteDialogFragmentBundle);
confirmBatchDownloadDialogFragment.show(context.getSupportFragmentManager(), "ConfirmBookDeleteDialogFragment");
return true;
default:
return false;
}
});
popup.inflate(R.menu.book_card_overflow);
if (bookInfo.getDownloadStatus() < DownloadsConstants.STATUS_DOWNLOAD_COMPLETED) {
popup.getMenu().removeItem(R.id.book_overflow_delete_book);
}
popup.show();
}
public static void popupMenuEnableIcons(PopupMenu popupMenu) {
try {
Field[] fields = popupMenu.getClass().getDeclaredFields();
for (Field field : fields) {
if ("mPopup".equals(field.getName())) {
field.setAccessible(true);
Object menuPopupHelper = field.get(popupMenu);
Class<?> classPopupHelper = Class.forName(menuPopupHelper.getClass().getName());
Method setForceIcons = classPopupHelper.getMethod("setForceShowIcon", boolean.class);
setForceIcons.invoke(menuPopupHelper, true);
break;
}
}
} catch (Throwable e) {
e.printStackTrace();
}
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
long dashboardId = getArguments().getLong(Dashboard$Table.ID);
mDashboard = new Select()
.from(Dashboard.class)
.where(Condition.column(Dashboard$Table
.ID).is(dashboardId))
.querySingle();
ButterKnife.bind(this, view);
InputMethodManager imm = (InputMethodManager)
getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(mFilter.getWindowToken(), 0);
mAdapter = new DashboardItemSearchDialogAdapter(
LayoutInflater.from(getActivity()));
mListView.setAdapter(mAdapter);
mDialogLabel.setText(getString(R.string.add_dashboard_item));
mResourcesMenu = new PopupMenu(getActivity(),mFilter, Gravity.END);
mResourcesMenu.inflate(R.menu.menu_filter_resources);
mResourcesMenu.setOnMenuItemClickListener(this);
}
@Override
public boolean onItemLongClick(RecyclerView parent, View view, int position, long id) {
int viewType = mWatchMeAdapter.getItemViewType(position);
switch (viewType){
case WatchMeAdapterNew.TYPE_HEADER_FIRST:
getJobManager().addJob(new FetchAvailableVideoQualities("p3xpwfHm"));
return true;
case WatchMeAdapterNew.TYPE_VIDEO:
case WatchMeAdapterNew.TYPE_VIDEO_LAST:
mSelectedVideoPosition = position;
PopupMenu popupMenu = new PopupMenu(view.getContext(), view, Gravity.TOP);
popupMenu.setOnMenuItemClickListener(mOnMenuItemClickListener);
popupMenu.inflate(R.menu.video_item_menu);
popupMenu.show();
return true;
}
return false;
}
/**
* 显示弹出式菜单
* @param entity
* @param ancho
*/
private void showPopMenu(final AppEntity entity,View ancho) {
PopupMenu popupMenu = new PopupMenu(mContext,ancho);
popupMenu.getMenuInflater().inflate(R.menu.item_pop_file_menu,popupMenu.getMenu());
popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
if(mClickPopupMenuItem!=null){
mClickPopupMenuItem.onClickMenuItem(item.getItemId(),entity);
}
return false;
}
});
makePopForceShowIcon(popupMenu);
popupMenu.show();
}
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
public void onPopupMenu(View anchor, final int position) {
if (!AndroidUtil.isHoneycombOrLater()) {
// Call the "classic" context menu
anchor.performLongClick();
return;
}
PopupMenu popupMenu = new PopupMenu(getActivity(), anchor);
setContextMenu(popupMenu.getMenuInflater(), popupMenu.getMenu(), position);
popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
return handleContextItemSelected(item, position);
}
});
popupMenu.show();
}
public PopupCardView(Context context, final List < String > list) {
super(context, R.layout.popup_cardview);
this.list = list;
if (list != null) {
popup = new PopupMenu(getContext(), valueView);
for (int i = 0; i < list.size(); i++)
popup.getMenu().add(Menu.NONE, i, Menu.NONE, list.get(i));
popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
if (valueView != null) {
valueText = list.get(item.getItemId()) + " ";
valueView.setText(valueText);
}
if (onPopupCardListener != null)
onPopupCardListener.onItemSelected(PopupCardView.this, item.getItemId());
return false;
}
});
}
if (onPopupCardListener != null) setListener();
}
CardViewHolder(ImageCardView view, Context context) {
super(view);
mContext = context;
Context wrapper = new ContextThemeWrapper(mContext, R.style.MyPopupMenu);
mPopupMenu = new PopupMenu(wrapper, view);
mPopupMenu.inflate(R.menu.popup_menu);
mPopupMenu.setOnMenuItemClickListener(this);
view.setOnLongClickListener(this);
mOwner = (LifecycleOwner) mContext;
mDefaultBackground = mContext.getResources().getDrawable(R.drawable.no_cache_no_internet, null);
mDefaultPlaceHolder = new RequestOptions().
placeholder(mDefaultBackground);
mCardView = (ImageCardView) CardViewHolder.this.view;
Resources resources = mCardView.getContext().getResources();
mCardView.setMainImageDimensions(Math.round(
resources.getDimensionPixelSize(R.dimen.card_width)),
resources.getDimensionPixelSize(R.dimen.card_height));
mFragmentActivity = (FragmentActivity) context;
mViewModel = ViewModelProviders.of(mFragmentActivity).get(VideosViewModel.class);
}
@Override
public void onClick(View view) {
if (view.getId() == R.id.post_image_edit_layout) {
PopupMenu popupMenu = new PopupMenu(this, mPostImageLayoutManager.getRootLayout());
popupMenu.inflate(R.menu.insert_image);
if (TextUtils.isEmpty(mPost.getFeatureImage())) {
MenuItem removeImageItem = popupMenu.getMenu().findItem(R.id.action_image_remove);
removeImageItem.setVisible(false);
}
popupMenu.setOnMenuItemClickListener(item -> {
if (item.getItemId() == R.id.action_insert_image_url) {
mPostEditFragment.onInsertImageUrlClicked(getInsertImageDoneAction());
} else if (item.getItemId() == R.id.action_insert_image_upload) {
mPostEditFragment.onInsertImageUploadClicked(getInsertImageDoneAction());
} else if (item.getItemId() == R.id.action_image_remove) {
getInsertImageDoneAction().call("");
}
return true;
});
popupMenu.show();
}
}
public static <T extends Parcelable> void setupOverflowEditMenu(Activity context, View anchor,
OnOperationListener<T> listener, int res, final T data, final int position) {
final PopupMenu menu = new PopupMenu(context, anchor);
menu.inflate(res);
menu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem menuItem) {
switch (menuItem.getItemId()) {
case R.id.action_edit:
if (listener != null) {
listener.update(data, position);
}
return true;
case R.id.action_delete:
if (listener != null) {
listener.delete(data, position);
}
return true;
}
return false;
}
});
anchor.setOnTouchListener(menu.getDragToOpenListener());
anchor.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
menu.show();
}
});
}
private void showDatePicker(View v) {
PopupMenu popupM = new PopupMenu(Objects.requireNonNull(getContext()), v);
popupM.inflate(R.menu.date_picker_menu);
popupM.getMenu().getItem(0).setTitle(String.format(getString(R.string.today_with_date), TimeUtils.getShortDate(getContext(), TimeUtils.today())));
popupM.getMenu().getItem(1).setTitle(String.format(getString(R.string.tomorrow_with_date), TimeUtils.getShortDate(getContext(), TimeUtils.tomorrow())));
popupM.getMenu().getItem(2).setTitle(String.format(getString(R.string.this_friday_with_date), TimeUtils.getShortDate(getContext(), TimeUtils.thisFriday())));
popupM.getMenu().getItem(3).setTitle(String.format(getString(R.string.this_sunday_with_date), TimeUtils.getShortDate(getContext(), TimeUtils.thisSunday())));
popupM.getMenu().getItem(4).setTitle(String.format(getString(R.string.next_monday_with_date), TimeUtils.getShortDate(getContext(), TimeUtils.nextMonday())));
popupM.setOnMenuItemClickListener(item -> {
switch (item.getItemId()){
case R.id.item_today:
onDatePicked(TimeUtils.today());
break;
case R.id.item_tomorrow:
onDatePicked(TimeUtils.tomorrow());
break;
case R.id.item_this_friday:
onDatePicked(TimeUtils.thisFriday());
break;
case R.id.item_this_sunday:
onDatePicked(TimeUtils.thisSunday());
break;
case R.id.item_next_monday:
onDatePicked(TimeUtils.nextMonday());
break;
case R.id.item_custom:
showCustomDateDialog();
return true;
case R.id.item_clear_date:break; // invisible
}
displayAlarmInfo();
return true;
});
popupM.show();
}
private void showTimePicker(View v) {
PopupMenu popupM = new PopupMenu(Objects.requireNonNull(getContext()), v);
popupM.inflate(R.menu.time_picker_menu);
ViewUtils.forceShowIcon(popupM);
popupM.setOnMenuItemClickListener(item -> {
switch (item.getItemId()){
case R.id.item_morning:
alarm.setHour(9);
alarm.setMinute(0);
break;
case R.id.item_noon:
alarm.setHour(12);
alarm.setMinute(0);
break;
case R.id.item_afternoon:
alarm.setHour(15);
alarm.setMinute(0);
break;
case R.id.item_evening:
alarm.setHour(18);
alarm.setMinute(0);
break;
case R.id.item_night:
alarm.setHour(21);
alarm.setMinute(0);
break;
case R.id.item_custom:
showCustomTimeDialog();
return true;
case R.id.item_clear_time: break; // invisible
}
displayAlarmInfo();
return true;
});
popupM.show();
}
public ViewHolder(ViewGroup parent) {
super(inflater, R.layout.main_app_item, parent);
itemView.setOnClickListener(v -> listener.onItemClick(this));
popupMenu = new PopupMenu(context, binding.more);
popupMenu.inflate(R.menu.main_item);
popupMenu.getMenu().findItem(R.id.add_to_launcher)
.setOnMenuItemClickListener(i -> {
listener.onReinstallShortcutClick(this);
return true;
});
binding.more.setOnClickListener(v -> listener.onShowingPopupMenu(this, popupMenu));
}
private void configPopMenu(PopupMenu popupMenu) {
popupMenu.getMenu().findItem(R.id.action_move_out).setVisible(status == Status.ARCHIVED || status == Status.TRASHED);
popupMenu.getMenu().findItem(R.id.action_edit).setVisible(status == Status.NORMAL);
popupMenu.getMenu().findItem(R.id.action_trash).setVisible(status == Status.NORMAL || status == Status.ARCHIVED);
popupMenu.getMenu().findItem(R.id.action_archive).setVisible(status == Status.NORMAL);
popupMenu.getMenu().findItem(R.id.action_delete).setVisible(status == Status.TRASHED);
}
/**
* showAlarmTypeMenu
* @param item AlarmClockItem
* @param buttonView button that triggered menu
* @param itemView view associated with item
*/
protected void showAlarmTypeMenu(final AlarmClockItem item, final View buttonView, final View itemView)
{
PopupMenu menu = new PopupMenu(context, buttonView);
MenuInflater inflater = menu.getMenuInflater();
inflater.inflate(R.menu.alarmtype, menu.getMenu());
menu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener()
{
@Override
public boolean onMenuItemClick(MenuItem menuItem)
{
switch (menuItem.getItemId())
{
case R.id.alarmTypeNotification:
return changeAlarmType(item, AlarmClockItem.AlarmType.NOTIFICATION);
case R.id.alarmTypeAlarm:
default:
return changeAlarmType(item, AlarmClockItem.AlarmType.ALARM);
}
}
});
SuntimesUtils.forceActionBarIcons(menu.getMenu());
menu.show();
}
/**
* 显示弹出菜单
*/
public void showPopmenu() {
PopupMenu popup = new PopupMenu(this, moreButton);
popup.getMenuInflater().inflate(R.menu.popmenu_local_config, popup.getMenu());
popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()) {
case R.id.top1:
loadLocalConfig();
break;
case R.id.top2:
clearLocalConfig();
break;
case R.id.top3:
exportLocalConfig();
break;
case R.id.top4:
loadLocalConfigSet();
break;
default:
break;
}
return true;
}
});
popup.show();
}
@Override
public void onClick(View v) {
PopupMenu popup = new PopupMenu(mContext, mImgIdentityOptions);
Utils.enablePopupMenuIcons(popup);
popup.getMenuInflater()
.inflate(R.menu.menu_id_management_options, popup.getMenu());
popup.setOnMenuItemClickListener(item -> {
switch (item.getItemId()) {
case R.id.action_idm_settings:
mContext.startActivity(new Intent(mContext, IdentitySettingsActivity.class));
break;
case R.id.action_idm_rename:
mContext.startActivity(new Intent(mContext, RenameActivity.class));
break;
case R.id.action_idm_remove:
removeIdentity();
break;
case R.id.action_idm_export:
mContext.startActivity(new Intent(mContext, ExportOptionsActivity.class));
break;
case R.id.action_idm_password_options:
showPasswordOptionsMenu();
break;
default:
break;
}
return true;
});
popup.show();
}
public static void enablePopupMenuIcons(PopupMenu popup) {
try {
Field[] fields = popup.getClass().getDeclaredFields();
for (Field field : fields) {
if ("mPopup".equals(field.getName())) {
field.setAccessible(true);
Object menuPopupHelper = field.get(popup);
Class<?> classPopupHelper = Class.forName(menuPopupHelper.getClass().getName());
Method setForceIcons = classPopupHelper.getMethod("setForceShowIcon", boolean.class);
setForceIcons.invoke(menuPopupHelper, true);
break;
}
}
} catch (Exception e) { e.printStackTrace(); }
}
public void showPopupMenu(View view) {
//参数View 是设置当前菜单显示的相对于View组件位置,具体位置系统会处理
PopupMenu popupMenu = new PopupMenu(this, view, Gravity.RIGHT, R.attr.popupMenuStyle, R.style.PopUpMenuStyle);
//加载menu布局
Menu menu = popupMenu.getMenu();
String[] spinnerArray = getResources().getStringArray(SPINNER_ARRAY);
int i = 0;
for (i = 0; i < spinnerArray.length; i++) {
menu.add(0, i, i, spinnerArray[i]);
}
menu.add(0, i, i, R.string.select_cancel);
//设置menu中的item点击事件
popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
if (mAppAdapter == null) {
return false;
}
int id = item.getItemId();
if (id < spinnerArray.length) {
for (AppListAdapter.ApplicationInfoWrap app : mSelectedApplicationInfos) {
app.selection = id;
}
mAppAdapter.notifyDataSetChanged();
refreshMenu(true);
} else {
unSelectAll();
refreshMenu(false);
}
UrlCountUtil.onEvent(UrlCountUtil.STATUS_WL_SELECTION, id + "");
return true;
}
});
popupMenu.show();
}
public static void setupFilterPopupMenu(Activity context, View anchor,
OnFilterListener listener, final String[] data) {
// final ListPopupWindow menu = new ListPopupWindow(context);
// ArrayAdapter<String> listAdapter = new ArrayAdapter<String>(context, R.layout.support_simple_spinner_dropdown_item, data);
// menu.setAdapter(listAdapter);
// menu.setOnItemClickListener(new AdapterView.OnItemClickListener() {
// @Override
// public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
// listener.onItemClick(parent,view,position,id);
// menu.dismiss();
// }
// });
final PopupMenu menu = new PopupMenu(context, anchor);
// menu.inflate(res);
for (int i = 0; i < data.length; i++) {
menu.getMenu().add(0, i, i, data[i]);
}
menu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem menuItem) {
listener.update(menuItem.getItemId());
return true;
}
});
anchor.setOnTouchListener(menu.getDragToOpenListener());
anchor.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
menu.show();
}
});
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.sync:
for (Account account : mAccounts) {
Bundle settingsBundle = new Bundle();
settingsBundle.putBoolean(
ContentResolver.SYNC_EXTRAS_MANUAL, true);
settingsBundle.putBoolean(
ContentResolver.SYNC_EXTRAS_EXPEDITED, true);
ContentResolver.requestSync(account, AUTHORITY, settingsBundle);
}
updateInfo();
break;
case R.id.new_layer:
if (getActivity() != null) {
// View view = getActivity().getWindow().getDecorView().findViewById(android.R.id.content);
View view = getActivity().findViewById(R.id.new_layer);
PopupMenu popup = new PopupMenu(getActivity(), view);
UiUtil.setForceShowIcon(popup);
popup.getMenuInflater().inflate(R.menu.add_layer, popup.getMenu());
popup.setOnMenuItemClickListener(this);
if (!AccountUtil.isProUser(getActivity())) {
popup.getMenu().findItem(R.id.menu_add_ngw).setIcon(R.drawable.ic_lock_black_24dp);
}
popup.show();
}
break;
}
}
public void setData(String codeGroup, int realPosition) {
CodeGroupAdapter codeGroupAdapter = new CodeGroupAdapter(mContext, codeGroup);
rvCodeGroup.setLayoutManager(new GridLayoutManager(mContext, 7));
rvCodeGroup.setAdapter(codeGroupAdapter);
PopupMenu popupMenu = new PopupMenu(mContext, tvOperate);
popupMenu.inflate(R.menu.operate_menu);
popupMenu.setOnMenuItemClickListener(item -> {
// TODO Auto-generated method stub
switch (item.getItemId()) {
case R.id.copy:
ClipboardManager clipboardManager = (ClipboardManager) mContext.getSystemService(Context.CLIPBOARD_SERVICE);
clipboardManager.setPrimaryClip(ClipData.newPlainText(null, codeGroup));
ToastUtil.showToast("已经复制到剪切板");
break;
case R.id.delete:
if (mCodeGroups.contains(codeGroup)) {
int index = mCodeGroups.indexOf(codeGroup);
mCodeGroups.remove(index);
notifyItemRemoved(index);
}
break;
default:
break;
}
return false;
});
tvOperate.setOnClickListener(v -> {
popupMenu.show();
});
}
@NonNull
public HorizontalBookRecyclerView setupRecyclerView(BookCardEventsCallback mListener,
Cursor bookListCursor,
String title,
PopupMenu.OnMenuItemClickListener onMenuItemClickListener,
int moreMenuRes) {
setupRecyclerView(mListener, bookListCursor);
setTitleText(title);
setOverFlowMenuListener(onMenuItemClickListener, moreMenuRes);
return this;
}
public void setOverFlowMenuListener(PopupMenu.OnMenuItemClickListener onClickListener, int moreMenuRes) {
if (moreMenuRes > 0) {
findViewById(R.id.more_overflow).setOnClickListener(v -> {
PopupMenu popup = new PopupMenu(getContext(), v);
popup.setOnMenuItemClickListener(onClickListener);
popup.inflate(moreMenuRes);
popup.show();
});
}
}
public static void parseMenu(Context context, @MenuRes int menuRes, List<MenuEntry> menuEntryList){
PopupMenu p = new PopupMenu(context, null);
Menu menu = p.getMenu();
new MenuInflater(context).inflate(menuRes, menu);
for (int i = 0; i < menu.size(); i++) {
android.view.MenuItem item = menu.getItem(i);
menuEntryList.add(new MenuEntry(item.getTitle().toString(), item.getIcon(), item.getItemId()));
}
}