android.view.MenuItem#OnMenuItemClickListener ( )源码实例Demo

下面列出了android.view.MenuItem#OnMenuItemClickListener ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: OmniList   文件: AttachmentsAdapter.java
@Override
protected void convert(BaseViewHolder helper, Attachment attachment) {
    Uri thumbnailUri = FileHelper.getThumbnailUri(PalmApp.getContext(), attachment.getUri());
    Glide.with(PalmApp.getContext())
            .load(thumbnailUri)
            .centerCrop()
            .crossFade()
            .into((ImageView) helper.getView(R.id.iv_thumbnail));

    helper.setText(R.id.tv_title, FileHelper.getNameFromUri(PalmApp.getContext(), thumbnailUri));

    if (Constants.MIME_TYPE_AUDIO.equals(attachment.getMineType())){
        helper.setImageResource(R.id.iv_thumbnail, attachment.isAudioPlaying() ? R.drawable.stop : R.drawable.play);
    }

    MenuItem.OnMenuItemClickListener listener = item -> {
        LogUtils.d(item.getItemId());
        switch (OnContextMenuClickedListener.AttachmentMenuItem.getItemById(item.getItemId())){
            case SHARE:
                if (onContextMenuClickedListener != null) {
                    onContextMenuClickedListener.onItemClicked(OnContextMenuClickedListener.AttachmentMenuItem.SHARE, attachment);
                }
                break;
            case DELETE:
                if (onContextMenuClickedListener != null) {
                    onContextMenuClickedListener.onItemClicked(OnContextMenuClickedListener.AttachmentMenuItem.DELETE, attachment);
                }
                break;
        }
        return true;
    };

    helper.itemView.setOnCreateContextMenuListener((menu, v, menuInfo) -> {
        menu.add(0, OnContextMenuClickedListener.AttachmentMenuItem.SHARE.itemId, 0, R.string.text_share).setOnMenuItemClickListener(listener);
        menu.add(0, OnContextMenuClickedListener.AttachmentMenuItem.DELETE.itemId, 1, R.string.text_delete).setOnMenuItemClickListener(listener);
    });
}
 
源代码2 项目: HgLauncher   文件: WidgetsDialogFragment.java
@Override public void onCreateContextMenu(@NonNull ContextMenu menu, @NonNull View v, @Nullable ContextMenu.ContextMenuInfo menuInfo) {
    // Set the calling view.
    callingView = (AppWidgetHostView) v;

    int index = appWidgetContainer.indexOfChild(v);

    // Workaround for DialogFragment issue with context menu.
    // Taken from: https://stackoverflow.com/a/18853634
    MenuItem.OnMenuItemClickListener listener = new MenuItem.OnMenuItemClickListener() {
        @Override
        public boolean onMenuItemClick(MenuItem item) {
            onContextItemSelected(item);
            return true;
        }
    };

    // Generate menu.
    // TODO: Maybe a more robust and automated way can be done for this.
    menu.clear();
    menu.add(1, 0, 100, getString(R.string.action_remove_widget));
    menu.add(1, 1, 100, getString(R.string.action_up_widget));
    menu.add(1, 2, 100, getString(R.string.action_down_widget));
    menu.getItem(0).setOnMenuItemClickListener(listener);

    // Move actions should only be added when there is more than one widget.
    menu.getItem(1).setVisible(appWidgetContainer.getChildCount() > 1 && index > 0);
    menu.getItem(2).setVisible(appWidgetContainer.getChildCount() != index + 1);

    if (appWidgetContainer.getChildCount() > 1) {
        if (index > 0) {
            menu.getItem(1).setOnMenuItemClickListener(listener);
        }

        if (index + 1 != appWidgetContainer.getChildCount()) {
            menu.getItem(2).setOnMenuItemClickListener(listener);
        }
    }
}
 
源代码3 项目: AppOpsX   文件: PermissionGroupActivity.java
@Override
public boolean onCreateOptionsMenu(Menu menu) {
  if(mPresenter != null && mPresenter.isLoadSuccess()){
    getMenuInflater().inflate(R.menu.group_menu,menu);

    MenuItem menuShowNet = menu.findItem(R.id.action_with_net);
    MenuItem mendShowHided = menu.findItem(R.id.action_show_ignored);

    final SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this);

    MenuItem.OnMenuItemClickListener itemClickListener = new MenuItem.OnMenuItemClickListener() {
      @Override
      public boolean onMenuItemClick(MenuItem item) {
        item.setChecked(!item.isChecked());
        switch (item.getItemId()){
          case R.id.action_with_net:
            sp.edit().putBoolean("key_g_show_net", item.isChecked()).apply();
            break;
          case R.id.action_show_ignored:
            sp.edit().putBoolean("key_g_show_ignored", item.isChecked()).apply();
            break;
        }
        invalidateOptionsMenu();
        return true;
      }
    };

    menuShowNet.setChecked(sp.getBoolean("key_g_show_net", false));
    menuShowNet.setOnMenuItemClickListener(itemClickListener);

    mendShowHided.setChecked(sp.getBoolean("key_g_show_ignored",false));
    mendShowHided.setOnMenuItemClickListener(itemClickListener);
  }
  return super.onCreateOptionsMenu(menu);
}
 
源代码4 项目: Telegram   文件: FloatingToolbar.java
public void layoutMenuItems(List<MenuItem> menuItems, MenuItem.OnMenuItemClickListener menuItemClickListener, int suggestedWidth) {
    mOnMenuItemClickListener = menuItemClickListener;
    cancelOverflowAnimations();
    clearPanels();
    menuItems = layoutMainPanelItems(menuItems, getAdjustedToolbarWidth(suggestedWidth));
    if (!menuItems.isEmpty()) {
        layoutOverflowPanelItems(menuItems);
    }
    updatePopupSize();
}
 
源代码5 项目: Telegram   文件: FloatingToolbar.java
public FloatingToolbar setOnMenuItemClickListener(MenuItem.OnMenuItemClickListener menuItemClickListener) {
    if (menuItemClickListener != null) {
        mMenuItemClickListener = menuItemClickListener;
    } else {
        mMenuItemClickListener = NO_OP_MENUITEM_CLICK_LISTENER;
    }
    return this;
}
 
源代码6 项目: island   文件: AppListFragment.java
@Override public void onPrepareOptionsMenu(final Menu menu) {
		final MenuItem.OnMenuItemClickListener tip = mUserGuide == null ? null : mUserGuide.getAvailableTip();
		menu.findItem(R.id.menu_tip).setVisible(tip != null).setOnMenuItemClickListener(tip);
		menu.findItem(R.id.menu_search).setVisible(mViewModel.mSelection.getValue() == null).setOnActionExpandListener(mOnActionExpandListener);
//		menu.findItem(R.id.menu_files).setVisible(context != null && Users.hasProfile() &&
//				(! Permissions.has(context, WRITE_EXTERNAL_STORAGE) || findFileBrowser(context) != null));
		menu.findItem(R.id.menu_show_system).setChecked(mViewModel.areSystemAppsIncluded());
		if (BuildConfig.DEBUG) menu.findItem(R.id.menu_test).setVisible(true);
	}
 
源代码7 项目: tuxguitar   文件: TGTrackTuningActionHandler.java
public MenuItem.OnMenuItemClickListener createRemoveTuningModelAction(final TGTrackTuningModel model) {
	return new MenuItem.OnMenuItemClickListener() {
		@Override
		public boolean onMenuItemClick(MenuItem menuItem) {
			TGTrackTuningActionHandler.this.dialog.postRemoveTuningModel(model);
			TGEditorManager.getInstance(TGTrackTuningActionHandler.this.dialog.findContext()).updateSelection();
			return true;
		}
	};
}
 
源代码8 项目: tuxguitar   文件: TGMenuBase.java
public void initializeItem(Menu menu, int id, MenuItem.OnMenuItemClickListener listener, boolean enabled, boolean checked) {
	MenuItem menuItem = menu.findItem(id);
	menuItem.setOnMenuItemClickListener(listener);
	menuItem.setEnabled(enabled);
	menuItem.setChecked(checked);
	menuItem.setVisible(true);
}
 
源代码9 项目: tup.dota2recipe   文件: ItemsListFragment.java
/**
 * 创建英雄属性筛选子菜单
 * 
 * @param cMenu
 *            当前菜单项
 * @param cSubMenuKeysId
 *            当前菜单关联的子菜单项资源ID
 * @param menuItemClickListener
 *            创建后的子菜单单击监听
 */
private void createHeroOptionsSubMenu(MenuItem cMenu, int cMenuQueryKeyId,
        int cSubMenuKeysId,
        String[] cSubMenuValues,
        MenuItem.OnMenuItemClickListener menuItemClickListener) {
    if (cMenu == null || menuItemClickListener == null) {
        return;
    }

    final SubMenu cSubMenu = cMenu.getSubMenu();
    final String[] cSubMenuKeys = this.getResources().getStringArray(
            cSubMenuKeysId);
    MenuItem cMenuItem = null;
    int cIndex = 0;
    for (String cMenuKey : cSubMenuKeys) {
        cMenuItem = cSubMenu.add(0, cIndex++, 0, cMenuKey);
        cMenuItem.setOnMenuItemClickListener(menuItemClickListener);
    }

    // 设置菜单默认值
    final String queryKey = menu_items_query_keys[cMenuQueryKeyId];
    if (!queryKey.equals(KEY_MENU_ITEMS_QUERY_ALL) && cSubMenuKeys != null) {
        final int queryValueIndex = Utils.indexOf(cSubMenuValues, queryKey);
        if (queryValueIndex >= 0 && cSubMenuKeys.length > queryValueIndex) {
            cMenu.setTitle(cSubMenuKeys[queryValueIndex]);
        }
    }
}
 
源代码10 项目: Android-Next   文件: ShareTarget.java
public ShareTarget(CharSequence title, Drawable icon, int id,
                   final MenuItem.OnMenuItemClickListener listener) {
    this.title = title;
    this.icon = icon;
    this.id = id;
    this.listener = listener;
}
 
源代码11 项目: tup.dota2recipe   文件: HeroListFragment.java
/**
 * 创建英雄属性筛选子菜单
 * 
 * @param cMenu
 *            当前菜单项
 * @param cMenuQueryKeyId
 * @param cSubMenuKeysId
 *            当前菜单关联的子菜单项资源ID
 * @param cSubMenuValues
 *            当前菜单关联的子菜单项 Values
 * @param menuItemClickListener
 *            创建后的子菜单单击监听
 */
private void createHeroOptionsSubMenu(MenuItem cMenu, int cMenuQueryKeyId,
        int cSubMenuKeysId, String[] cSubMenuValues,
        MenuItem.OnMenuItemClickListener menuItemClickListener) {
    if (cMenu == null || menuItemClickListener == null) {
        return;
    }

    final SubMenu cSubMenu = cMenu.getSubMenu();
    final String[] cSubMenuKeys = this.getResources().getStringArray(cSubMenuKeysId);
    MenuItem cMenuItem = null;
    int cIndex = 0;
    for (String cMenuKey : cSubMenuKeys) {
        cMenuItem = cSubMenu.add(0, cIndex++, 0, cMenuKey);
        cMenuItem.setOnMenuItemClickListener(menuItemClickListener);
    }

    // 设置菜单默认值
    final String queryKey = menu_hero_query_keys[cMenuQueryKeyId];
    if (!queryKey.equals(KEY_MENU_HERO_QUERY_ALL)
            && !queryKey.equals(KEY_MENU_HERO_QUERY_DEFAULT)
            && cSubMenuKeys != null) {
        final int queryValueIndex = Utils.indexOf(cSubMenuValues, queryKey);
        if (queryValueIndex >= 0 && cSubMenuKeys.length > queryValueIndex) {
            cMenu.setTitle(cSubMenuKeys[queryValueIndex]);
        }
    }
}
 
源代码12 项目: Telegram-FOSS   文件: FloatingToolbar.java
public void layoutMenuItems(List<MenuItem> menuItems, MenuItem.OnMenuItemClickListener menuItemClickListener, int suggestedWidth) {
    mOnMenuItemClickListener = menuItemClickListener;
    cancelOverflowAnimations();
    clearPanels();
    menuItems = layoutMainPanelItems(menuItems, getAdjustedToolbarWidth(suggestedWidth));
    if (!menuItems.isEmpty()) {
        layoutOverflowPanelItems(menuItems);
    }
    updatePopupSize();
}
 
源代码13 项目: AppOpsX   文件: AppPermissionActivity.java
@Override
public boolean onCreateOptionsMenu(final Menu menu) {
  if (!mPresenter.isLoadSuccess()) {
    return false;
  }

  getMenuInflater().inflate(R.menu.app_menu, menu);

  MenuItem menuShowAllPerm = menu.findItem(R.id.action_hide_perm);
  MenuItem menuShowOpDesc = menu.findItem(R.id.action_show_op_perm);
  MenuItem menuShowOpName = menu.findItem(R.id.action_show_op_name);
  MenuItem menuShowPremTime = menu.findItem(R.id.action_show_perm_time);

  final SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this);

  final Map<MenuItem, String> menus = new HashMap<>();
  menus.put(menuShowAllPerm, "key_show_no_prems");
  menus.put(menuShowOpDesc, "key_show_op_desc");
  menus.put(menuShowOpName, "key_show_op_name");
  menus.put(menuShowPremTime, "key_show_perm_time");

  MenuItem.OnMenuItemClickListener itemClickListener = new MenuItem.OnMenuItemClickListener() {
    @Override
    public boolean onMenuItemClick(MenuItem item) {
      String s = menus.get(item);
      if (s != null) {
        item.setChecked(!item.isChecked());
        sp.edit().putBoolean(s, item.isChecked()).apply();
        ActivityCompat.invalidateOptionsMenu(AppPermissionActivity.this);
        mPresenter.load();
      }
      return true;
    }
  };

  Set<Map.Entry<MenuItem, String>> entries = menus.entrySet();
  for (Map.Entry<MenuItem, String> entry : entries) {
    entry.getKey().setChecked(sp.getBoolean(entry.getValue(), false));
    entry.getKey().setOnMenuItemClickListener(itemClickListener);
  }

  return true;
}
 
源代码14 项目: 920-text-editor-v2   文件: MainMenuAdapter.java
public void setMenuItemClickListener(MenuItem.OnMenuItemClickListener menuItemClickListener) {
    this.menuItemClickListener = menuItemClickListener;
}
 
源代码15 项目: tuxguitar   文件: TGMenuBase.java
public void initializeItem(Menu menu, int id, MenuItem.OnMenuItemClickListener listener, boolean enabled) {
	this.initializeItem(menu, id, listener, enabled, false);
}
 
源代码16 项目: talkback   文件: ContextMenu.java
public MenuItem.OnMenuItemClickListener getDefaultListener() {
  return listener;
}
 
源代码17 项目: Android-Next   文件: ShareTarget.java
public ShareTarget(CharSequence title, Drawable icon,
                   final MenuItem.OnMenuItemClickListener listener) {
    this(title, icon, 0, listener);
}
 
源代码18 项目: Android-Next   文件: ShareTarget.java
public ShareTarget(CharSequence title, Drawable icon,
                   final MenuItem.OnMenuItemClickListener listener) {
    this(title, icon, 0, listener);
}
 
源代码19 项目: talkback   文件: ContextMenu.java
/**
 * Sets the default click listener for menu items. If the default click listener returns false for
 * an event, it will be passed to the menu's parent menu (if any).
 *
 * @param listener The default click listener for menu items.
 */
public void setDefaultListener(MenuItem.OnMenuItemClickListener listener) {
  this.listener = listener;
}
 
源代码20 项目: Android-Next   文件: AdvancedShareActionProvider.java
/**
 * 设置MenuItem的点击事件
 *
 * @param listener
 */
public void setOnMenuItemClickListener(MenuItem.OnMenuItemClickListener listener) {
    mOnMenuItemClickListener = listener;
}