类android.view.SubMenu源码实例Demo

下面列出了怎么用android.view.SubMenu的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: rcloneExplorer   文件: MainActivity.java
private void pinRemotesToDrawer() {
    Menu menu = navigationView.getMenu();
    MenuItem existingMenu = menu.findItem(1);
    if (existingMenu != null) {
        return;
    }

    SubMenu subMenu = menu.addSubMenu(R.id.drawer_pinned_header, 1, Menu.NONE, R.string.nav_drawer_pinned_header);

    List<RemoteItem> remoteItems = rclone.getRemotes();
    Collections.sort(remoteItems);
    for (RemoteItem remoteItem : remoteItems) {
        if (remoteItem.isDrawerPinned()) {
            MenuItem menuItem = subMenu.add(R.id.nav_pinned, availableDrawerPinnedRemoteId, Menu.NONE, remoteItem.getName());
            drawerPinnedRemoteIds.put(availableDrawerPinnedRemoteId, remoteItem);
            availableDrawerPinnedRemoteId++;
            menuItem.setIcon(remoteItem.getRemoteIcon());
        }
    }
}
 
源代码2 项目: HaoReader   文件: SearchBookActivity.java
private void initMenu(Menu menu) {
    if (menu == null) return;
    MenuItem item = menu.findItem(R.id.action_outer_source);
    SubMenu subMenu = item.getSubMenu();
    subMenu.removeGroup(R.id.book_source_group);
    if (BookSourceManager.getEnabledCount() > 0) {
        item.setVisible(true);
        item.setEnabled(true);
        MenuItem subItem = subMenu.add(R.id.book_source_group, Menu.NONE, Menu.NONE, R.string.book_all_source);
        if (group == null) {
            subItem.setChecked(true);
        }
        List<String> groupList = BookSourceManager.getEnableGroupList();
        for (String groupName : groupList) {
            subItem = subMenu.add(R.id.book_source_group, Menu.NONE, Menu.NONE, groupName);
            if (TextUtils.equals(group, subItem.getTitle())) {
                subItem.setChecked(true);
            }
        }
        subMenu.setGroupCheckable(R.id.book_source_group, true, true);
    } else {
        item.setVisible(false);
        item.setEnabled(false);
    }
}
 
源代码3 项目: OpenHub   文件: ViewUtils.java
public static void selectMenuItem(@NonNull Menu menu, @IdRes int itemId, boolean findSub) {
    boolean find = false;
    for (int i = 0; i < menu.size(); i++) {
        if (!findSub) {
            menu.getItem(i).setChecked(menu.getItem(i).getItemId() == itemId);
        } else {
            if (menu.getItem(i).getItemId() == itemId) {
                find = true;
            }
        }
    }

    if (!findSub) {
        return;
    } else if (find) {
        selectMenuItem(menu, itemId, false);
    } else {
        for (int i = 0; i < menu.size(); i++) {
            SubMenu subMenu = menu.getItem(i).getSubMenu();
            if(subMenu != null)
                selectMenuItem(subMenu, itemId, true);
        }
    }
}
 
源代码4 项目: Silence   文件: ConversationActivity.java
private void inflateSubMenuStartSecureSession(Menu menu) {
  if (Build.VERSION.SDK_INT >= 22 && activeSubscriptions.size() > 1) {
    menu.findItem(R.id.menu_start_secure_session).setVisible(false);
    SubMenu startSecureSessionMenu = menu.findItem(R.id.menu_start_secure_session_dual_sim).getSubMenu();

    for (SubscriptionInfoCompat subscriptionInfo : activeSubscriptions) {
      final int subscriptionId = subscriptionInfo.getSubscriptionId();

      if (!SessionUtil.hasSession(this, masterSecret, recipients.getPrimaryRecipient().getNumber(), subscriptionId)) {

        startSecureSessionMenu.add(Menu.NONE, Menu.NONE, Menu.NONE, subscriptionInfo.getDisplayName())
                              .setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
                                @Override
                                public boolean onMenuItemClick(MenuItem item) {
                                  handleStartSecureSession(subscriptionId);
                                  return true;
                                }
                              });
      }
    }
  } else {
    menu.findItem(R.id.menu_start_secure_session_dual_sim).setVisible(false);
  }
}
 
源代码5 项目: AndroidDemo   文件: MainActivity.java
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    //四个参数的含义:

    // 1.group的id;2.item的id;3.是否排序;4.将要显示的内容
    menu.add(0, 1, 0, "计算机科学与技术");
    menu.add(0, 2, 0, "网络工程");
    menu.add(0, 3, 0, "信息安全");
    menu.add(0, 4, 0, "河北大学艺术学院");
    menu.add(0, 5, 0, "河北大学质检学院");
    SubMenu sub = menu.addSubMenu("子菜单");
    sub.add(0, 5, 0, "子菜单一");
    sub.add(0, 6, 0, "子菜单二");
    sub.add(0, 7, 0, "子菜单三");

    menu.add(1, 6, 0, "河北大学计算机学院");
    menu.add(1, 7, 1, "河北大学电信学院");
    menu.add(1, 8, 5, "河北大学新闻学院");
    menu.add(1, 9, 2, "河北大学艺术学院");
    menu.add(1, 10, 3, "河北大学质检学院");

    return true;
}
 
源代码6 项目: RetroMusicPlayer   文件: AlbumDetailsActivity.java
private void setUpSortOrderMenu(@NonNull SubMenu sortOrder) {
    switch (getSavedSortOrder()) {
        case AlbumSongSortOrder.SONG_A_Z:
            sortOrder.findItem(R.id.action_sort_order_title).setChecked(true);
            break;
        case AlbumSongSortOrder.SONG_Z_A:
            sortOrder.findItem(R.id.action_sort_order_title_desc).setChecked(true);
            break;
        case AlbumSongSortOrder.SONG_TRACK_LIST:
            sortOrder.findItem(R.id.action_sort_order_track_list).setChecked(true);
            break;
        case AlbumSongSortOrder.SONG_DURATION:
            sortOrder.findItem(R.id.action_sort_order_artist_song_duration).setChecked(true);
            break;
    }
}
 
源代码7 项目: HightCopyWX   文件: PlusActionProvider.java
@Override
public void onPrepareSubMenu(SubMenu subMenu) {
    subMenu.clear();
    subMenu.add(Menu.NONE,0,Menu.NONE,mContext.getString(R.string.multi_chat))
            .setIcon(R.drawable.multi_chat)
            .setOnMenuItemClickListener(this);
    subMenu.add(Menu.NONE,1,Menu.NONE,mContext.getString(R.string.add_friends))
            .setIcon(R.drawable.add_friends)
            .setOnMenuItemClickListener(this);
    subMenu.add(Menu.NONE,2,Menu.NONE,mContext.getString(R.string.scan))
            .setIcon(R.drawable.scan)
            .setOnMenuItemClickListener(this);
    subMenu.add(Menu.NONE,3,Menu.NONE,mContext.getString(R.string.pay_money))
            .setIcon(R.drawable.pay_money)
            .setOnMenuItemClickListener(this);
    subMenu.add(Menu.NONE,4,Menu.NONE,mContext.getString(R.string.help_devise))
            .setIcon(R.drawable.help_advise)
            .setOnMenuItemClickListener(this);
}
 
源代码8 项目: MemoryCleaner   文件: IgnoreSetting.java
@Override public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.menu_ignore_setting, menu);
    SubMenu subMenu = menu.addSubMenu(GROUP_ID, BASE_ID, 0, "排序");
    subMenu.setIcon(R.drawable.ic_sort_white_24dp);
    subMenu.add(GROUP_ID + 1, BASE_ID + 1, 0, "应用名");
    subMenu.add(GROUP_ID + 1, BASE_ID + 2, 1, "选中");
    subMenu.add(GROUP_ID + 2, BASE_ID + 3, 2, "降序")
           .setCheckable(true)
           .setChecked(true);
    subMenu.setGroupCheckable(GROUP_ID + 1, true, true);
    mMenuItem = menu.findItem(R.id.allcheck);
    ActionItemBadge.update(this, mMenuItem, FontAwesome.Icon.faw_check,
            ActionItemBadge.BadgeStyles.DARK_GREY, 0);
    return true;
}
 
源代码9 项目: MemoryCleaner   文件: MemoryClean.java
@Override public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.menu_memory_clean, menu);
    SubMenu subMenu = menu.addSubMenu(GROUP_ID, BASE_ID, 0, "排序");
    subMenu.setIcon(R.drawable.ic_sort_white_24dp);
    subMenu.add(GROUP_ID + 1, BASE_ID + 1, 0, "应用名");
    subMenu.add(GROUP_ID + 1, BASE_ID + 2, 1, "大小");
    subMenu.add(GROUP_ID + 1, BASE_ID + 3, 2, "选中");
    subMenu.add(GROUP_ID + 2, BASE_ID + 4, 3, "降序")
           .setCheckable(true)
           .setChecked(true);
    subMenu.setGroupCheckable(GROUP_ID + 1, true, true);
    mMenuItem = menu.findItem(R.id.allcheck);
    ActionItemBadge.update(this, mMenuItem, FontAwesome.Icon.faw_check,
            ActionItemBadge.BadgeStyles.DARK_GREY, 0);
    return true;
}
 
源代码10 项目: Kandroid   文件: MainActivity.java
private void populateProjectsMenu() {
    if (mProjectList == null) {
        if (BuildConfig.DEBUG) Log.d("Kandroid", "Tried to populate drawer, but mDashboard was null");
        return;
    }
    SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this.getBaseContext());
    List<KanboardProject> projList = mProjectList;
    if (preferences.getBoolean("projects_sort_alphabetic", false))
        Collections.sort(projList);
    NavigationView nav = (NavigationView) findViewById(R.id.nav_view);
    SubMenu projMenu = nav.getMenu().findItem(R.id.projects).getSubMenu();
    projMenu.clear();
    for (KanboardProject item: projList)
        projMenu.add(Menu.NONE, item.getId(), Menu.NONE, item.getName())
                .setIcon(R.drawable.project);
}
 
/**
 * {@inheritDoc}
 */
@Override
public void onPrepareSubMenu(SubMenu subMenu) {
	if (replayItem != null) {
		return;
	}
	
	subMenu.clear();
	replayItem = subMenu.add(0, 1, 1, R.string.newly_reply).setIcon(R.drawable.ic_new_replay_checked);
	publishItem = subMenu.add(0, 2, 2, R.string.newly_publish).setIcon(R.drawable.ic_new_publish_unchecked);
	if (mListener != null) {
		replayItem.setOnMenuItemClickListener(mListener);
		publishItem.setOnMenuItemClickListener(mListener);
	}

}
 
源代码12 项目: Loop   文件: MainActivity.java
private void formatMenuItems() {
    Menu menu = navigationView.getMenu();
    for (int i = 0; i < menu.size(); i++) {
        MenuItem mi = menu.getItem(i);

        SubMenu subMenu = mi.getSubMenu();
        if (subMenu != null && subMenu.size() > 0) {
            for (int j = 0; j < subMenu.size(); j++) {
                MenuItem subMenuItem = subMenu.getItem(j);
                applyFontToMenuItem(subMenuItem);
            }
        }

        applyFontToMenuItem(mi);
    }
}
 
源代码13 项目: RedReader   文件: OptionsMenuUtility.java
private static void addAllCommentSorts(final AppCompatActivity activity, final Menu menu, final boolean icon) {

		final SubMenu sortComments = menu.addSubMenu(R.string.options_sort_comments);

		if(icon) {
			sortComments.getItem().setIcon(R.drawable.ic_sort_dark);
			sortComments.getItem().setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
		}

		addSort(activity, sortComments, R.string.sort_comments_best, PostCommentListingURL.Sort.BEST);
		addSort(activity, sortComments, R.string.sort_comments_hot, PostCommentListingURL.Sort.HOT);
		addSort(activity, sortComments, R.string.sort_comments_new, PostCommentListingURL.Sort.NEW);
		addSort(activity, sortComments, R.string.sort_comments_old, PostCommentListingURL.Sort.OLD);
		addSort(activity, sortComments, R.string.sort_comments_controversial, PostCommentListingURL.Sort.CONTROVERSIAL);
		addSort(activity, sortComments, R.string.sort_comments_top, PostCommentListingURL.Sort.TOP);
		addSort(activity, sortComments, R.string.sort_comments_qa, PostCommentListingURL.Sort.QA);
	}
 
源代码14 项目: 4pdaClient-plus   文件: MainDrawerMenu.java
private void setNavigationItems() {
    menu = mDrawer.getMenu();
    menu.clear();
    int itemId = 0;
    int i = 0;
    SubMenu subMenu;
    List<BrickInfo> list;
    subMenu = menu.addSubMenu(1, 0, 0, R.string.all);
    list = ListCore.getMainMenuBricks();
    for (i = 0; i < list.size(); i++, itemId++)
        subMenu.add(1, itemId, i, list.get(i).getTitle()).setIcon(list.get(i).getIcon());
    subMenu = menu.addSubMenu(2, 0, 0, R.string.other);
    list = ListCore.getOthersBricks();
    for (i = 0; i < list.size(); i++, itemId++)
        subMenu.add(2, itemId, i, list.get(i).getTitle()).setIcon(list.get(i).getIcon());
}
 
源代码15 项目: ground-android   文件: HomeScreenFragment.java
private void updateSelectedProjectUI(int selectedIndex) {
  SubMenu subMenu = getProjectsNavItem().getSubMenu();
  for (int i = 0; i < projects.size(); i++) {
    MenuItem menuItem = subMenu.getItem(i);
    menuItem.setChecked(i == selectedIndex);
  }
}
 
源代码16 项目: Music-Player   文件: LibraryFragment.java
private void setUpSortOrderMenu(@NonNull AbsLibraryPagerRecyclerViewCustomGridSizeFragment fragment, @NonNull SubMenu sortOrderMenu) {
    String currentSortOrder = fragment.getSortOrder();
    sortOrderMenu.clear();

    if (fragment instanceof AlbumsFragment) {
        sortOrderMenu.add(0, R.id.action_album_sort_order_asc, 0, R.string.sort_order_a_z)
                .setChecked(currentSortOrder.equals(SortOrder.AlbumSortOrder.ALBUM_A_Z));
        sortOrderMenu.add(0, R.id.action_album_sort_order_desc, 1, R.string.sort_order_z_a)
                .setChecked(currentSortOrder.equals(SortOrder.AlbumSortOrder.ALBUM_Z_A));
        sortOrderMenu.add(0, R.id.action_album_sort_order_artist, 2, R.string.sort_order_artist)
                .setChecked(currentSortOrder.equals(SortOrder.AlbumSortOrder.ALBUM_ARTIST));
        sortOrderMenu.add(0, R.id.action_album_sort_order_year, 3, R.string.sort_order_year)
                .setChecked(currentSortOrder.equals(SortOrder.AlbumSortOrder.ALBUM_YEAR));
    } else if (fragment instanceof ArtistsFragment) {
        sortOrderMenu.add(0, R.id.action_artist_sort_order_asc, 0, R.string.sort_order_a_z)
                .setChecked(currentSortOrder.equals(SortOrder.ArtistSortOrder.ARTIST_A_Z));
        sortOrderMenu.add(0, R.id.action_artist_sort_order_desc, 1, R.string.sort_order_z_a)
                .setChecked(currentSortOrder.equals(SortOrder.ArtistSortOrder.ARTIST_Z_A));
    } else if (fragment instanceof SongsFragment) {
        sortOrderMenu.add(0, R.id.action_song_sort_order_asc, 0, R.string.sort_order_a_z)
                .setChecked(currentSortOrder.equals(SortOrder.SongSortOrder.SONG_A_Z));
        sortOrderMenu.add(0, R.id.action_song_sort_order_desc, 1, R.string.sort_order_z_a)
                .setChecked(currentSortOrder.equals(SortOrder.SongSortOrder.SONG_Z_A));
        sortOrderMenu.add(0, R.id.action_song_sort_order_artist, 2, R.string.sort_order_artist)
                .setChecked(currentSortOrder.equals(SortOrder.SongSortOrder.SONG_ARTIST));
        sortOrderMenu.add(0, R.id.action_song_sort_order_album, 3, R.string.sort_order_album)
                .setChecked(currentSortOrder.equals(SortOrder.SongSortOrder.SONG_ALBUM));
        sortOrderMenu.add(0, R.id.action_song_sort_order_year, 4, R.string.sort_order_year)
                .setChecked(currentSortOrder.equals(SortOrder.SongSortOrder.SONG_YEAR));
    }

    sortOrderMenu.setGroupCheckable(0, true, true);
}
 
源代码17 项目: document-viewer   文件: ActionMenuHelper.java
public static void setMenuSource(final IActionController<?> c, final Menu menu, final Object source) {
    for (int i = 0, n = menu.size(); i < n; i++) {
        final MenuItem item = menu.getItem(i);
        final SubMenu subMenu = item.getSubMenu();
        if (subMenu != null) {
            setMenuSource(c, subMenu, source);
        } else {
            setMenuItemSource(c, item, source);
        }
    }
}
 
private void appendFragments(boolean setShortcuts) {
    mActualFragments.clear();
    Menu menu = mNavigationView.getMenu();
    menu.clear();

    SubMenu lastSubMenu = null;
    for (NavigationFragment navigationFragment : mFragments) {
        Class<? extends Fragment> fragmentClass = navigationFragment.mFragmentClass;
        int id = navigationFragment.mId;

        if (fragmentClass == null) {
            lastSubMenu = menu.addSubMenu(id);
            mActualFragments.put(id, null);
        } else if (Prefs.getBoolean(fragmentClass.getSimpleName() + "_enabled",
                true, this)) {
            MenuItem menuItem = lastSubMenu == null ? menu.add(0, id, 0, id) :
                    lastSubMenu.add(0, id, 0, id);
            menuItem.setIcon(ViewUtils.getColoredIcon(Prefs.getBoolean("section_icons", true, this)
                    && navigationFragment.mDrawable != 0 ? navigationFragment.mDrawable : R.drawable.ic_blank, this));
            menuItem.setCheckable(true);
            if (mSelection != 0) {
                mNavigationView.setCheckedItem(mSelection);
            }
            mActualFragments.put(id, fragmentClass);
        }
    }
    if (setShortcuts) {
        setShortcuts();
    }
}
 
源代码19 项目: Silence   文件: ConversationActivity.java
private void inflateSubMenuAbortSecureSession(Menu menu) {
  if (Build.VERSION.SDK_INT >= 22 && activeSubscriptions.size() > 1) {
    menu.findItem(R.id.menu_abort_session).setVisible(false);
    SubMenu abortSecureSessionMenu = menu.findItem(R.id.menu_abort_session_dual_sim).getSubMenu();

    for (SubscriptionInfoCompat subscriptionInfo : activeSubscriptions) {
      final int subscriptionId = subscriptionInfo.getSubscriptionId();
      Log.w(TAG, "inflateSubMenuAbortSecureSession( " + subscriptionId + " )");

      if (SessionUtil.hasSession(this, masterSecret, recipients.getPrimaryRecipient().getNumber(), subscriptionId)) {
        Log.w(TAG, "Subscription ID " + subscriptionId + " has a secure session.");

        abortSecureSessionMenu.add(Menu.NONE, Menu.NONE, Menu.NONE, subscriptionInfo.getDisplayName())
                              .setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
                                @Override
                                public boolean onMenuItemClick(MenuItem item) {
                                  handleAbortSecureSession(subscriptionId);
                                  return true;
                                }
                              });
      }
    }
  } else {
    menu.findItem(R.id.menu_abort_session_dual_sim).setVisible(false);
    menu.findItem(R.id.menu_start_secure_session_dual_sim).setVisible(false);
  }
}
 
源代码20 项目: 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]);
        }
    }
}
 
源代码21 项目: document-viewer   文件: BrowserActivity.java
protected void createFileMenu(final ContextMenu menu, final String path) {
    final BookSettings bs = SettingsManager.getBookSettings(path);
    final MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.book_menu, menu);
    menu.setHeaderTitle(path);
    menu.findItem(R.id.bookmenu_recentgroup).setVisible(bs != null);
    menu.findItem(R.id.bookmenu_openbookshelf).setVisible(false);
    menu.findItem(R.id.bookmenu_openbookfolder).setVisible(false);

    final MenuItem om = menu.findItem(R.id.bookmenu_open);
    final SubMenu osm = om != null ? om.getSubMenu() : null;
    if (osm == null) {
        return;
    }
    osm.clear();

    final List<Bookmark> list = new ArrayList<Bookmark>();
    list.add(new Bookmark(true, getString(R.string.bookmark_start), PageIndex.FIRST, 0, 0));
    list.add(new Bookmark(true, getString(R.string.bookmark_end), PageIndex.LAST, 0, 1));
    if (bs != null) {
        if (LengthUtils.isNotEmpty(bs.bookmarks)) {
            list.addAll(bs.bookmarks);
        }
        list.add(new Bookmark(true, getString(R.string.bookmark_current), bs.currentPage, bs.offsetX, bs.offsetY));
    }

    Collections.sort(list);
    for (final Bookmark b : list) {
        addBookmarkMenuItem(osm, b);
    }
}
 
源代码22 项目: J2ME-Loader   文件: MicroActivity.java
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
	if (current != null) {
		menu.clear();
		MenuInflater inflater = getMenuInflater();
		inflater.inflate(R.menu.midlet_displayable, menu);
		if (current instanceof Canvas) {
			SubMenu group = menu.getItem(0).getSubMenu();
			if (actionBarEnabled) {
				inflater.inflate(R.menu.midlet_canvas_no_keys2, menu);
			} else {
				inflater.inflate(R.menu.midlet_canvas_no_keys, group);
			}
			VirtualKeyboard vk = ContextHolder.getVk();
			if (vk instanceof FixedKeyboard) {
				inflater.inflate(R.menu.midlet_canvas_fixed, group);
			} else if (vk != null) {
				inflater.inflate(R.menu.midlet_canvas, group);
			}
		}
		for (Command cmd : current.getCommands()) {
			menu.add(Menu.NONE, cmd.hashCode(), Menu.NONE, cmd.getAndroidLabel());
		}
	}

	return super.onPrepareOptionsMenu(menu);
}
 
源代码23 项目: Rey-MusicPlayer   文件: SearchActivity.java
public void onAlbumPopUpMenuClickListener(View v, final int position) {
    mSelectedPosition = position;
    final PopupMenu menu = new PopupMenu(SearchActivity.this, v);
    SubMenu sub = (menu.getMenu()).addSubMenu(0, ADD_TO_PLAYLIST, 1, R.string.add_to_playlist);
    MusicUtils.makePlaylistMenu(mContext, sub, 0);
    mSelectedId = ((Album) mSearchResults.get(position))._Id;
    menu.setOnMenuItemClickListener(item -> {
        switch (item.getItemId()) {
            case R.id.popup_album_play_next:
                new AsyncAddTo(((Album) mSearchResults.get(position))._albumName, false, CursorHelper.getTracksForSelection("ALBUMS", "" + ((Album) mSearchResults.get(position))._Id)).execute();
                return true;
            case R.id.popup_album_add_to_queue:
                new AsyncAddTo(((Album) mSearchResults.get(position))._albumName, true, CursorHelper.getTracksForSelection("ALBUMS", "" + ((Album) mSearchResults.get(position))._Id)).execute();
                return true;
            case NEW_PLAYLIST:
                PlaylistDialog playlistDialog = new PlaylistDialog();
                Bundle bundle = new Bundle();
                bundle.putLongArray("PLAYLIST_IDS", MusicUtils.getPlayListIds(CursorHelper.getTracksForSelection("ALBUMS", "" + ((Album) mSearchResults.get(position))._Id)));
                playlistDialog.setArguments(bundle);
                playlistDialog.show(getSupportFragmentManager(), "FRAGMENT_TAG");

                return true;
            case PLAYLIST_SELECTED:
                MusicUtils.insertIntoPlayList(mContext, item, CursorHelper.getTracksForSelection("ALBUMS", "" + ((Album) mSearchResults.get(position))._Id));
                return true;
            case R.id.popup_album_delete:
                try {
                    MusicUtils.deleteFile(SearchActivity.this, CursorHelper.getTracksForSelection("ALBUMS", "" + ((Album) mSearchResults.get(position))._Id), this);
                } catch (Exception e) {
                    e.printStackTrace();
                }
                return true;
            default:
                break;
        }
        return false;
    });
    menu.inflate(R.menu.popup_album);
    menu.show();
}
 
源代码24 项目: kolabnotes-android   文件: DrawerService.java
public void overrideTags(OnDrawerSelectionChangedListener listener, Collection<Tag> tags){
    final Menu overview = view.getMenu();
    final SubMenu tagSubmenu = overview.findItem(R.id.navigation_tags).getSubMenu();

    tagSubmenu.clear();

    for(Tag tag : tags){
        addTag(tagSubmenu, listener, tag);
    }
}
 
源代码25 项目: KernelAdiutor   文件: NavigationActivity.java
private void appendFragments(boolean setShortcuts) {
    mActualFragments.clear();
    Menu menu = mNavigationView.getMenu();
    menu.clear();

    SubMenu lastSubMenu = null;
    for (NavigationFragment navigationFragment : mFragments) {
        Class<? extends Fragment> fragmentClass = navigationFragment.mFragmentClass;
        int id = navigationFragment.mId;

        Drawable drawable = ContextCompat.getDrawable(this,
                Utils.DONATED
                        && AppSettings.isSectionIcons(this)
                        && navigationFragment.mDrawable != 0 ? navigationFragment.mDrawable :
                        R.drawable.ic_blank);

        if (fragmentClass == null) {
            lastSubMenu = menu.addSubMenu(id);
            mActualFragments.put(id, null);
        } else if (AppSettings.isFragmentEnabled(fragmentClass, this)) {
            MenuItem menuItem = lastSubMenu == null ? menu.add(0, id, 0, id) :
                    lastSubMenu.add(0, id, 0, id);
            menuItem.setIcon(drawable);
            menuItem.setCheckable(true);
            if (mSelection != 0) {
                mNavigationView.setCheckedItem(mSelection);
            }
            mActualFragments.put(id, fragmentClass);
        }
    }
    if (setShortcuts) {
        setShortcuts();
    }
}
 
源代码26 项目: Rey-MusicPlayer   文件: MusicUtils.java
public static void overflowsubmenu(Context context, SubMenu subMenu) {
    String[] cols = new String[]{
            MediaStore.Audio.Playlists._ID,
            MediaStore.Audio.Playlists.NAME
    };
    ContentResolver resolver = context.getContentResolver();
    if (resolver == null) {
        System.out.println("resolver = null");
    } else {
        String whereclause = MediaStore.Audio.Playlists.NAME + " != ''";
        Cursor cur = resolver.query(MediaStore.Audio.Playlists.EXTERNAL_CONTENT_URI,
                cols, whereclause, null,
                MediaStore.Audio.Playlists.NAME);
        subMenu.clear();
        subMenu.add(0, Defs.NEW_PLAYLIST, 0, R.string.new_playlist);
        if (cur != null && cur.getCount() > 0) {
            //sub.addSeparator(1, 0);
            cur.moveToFirst();
            while (!cur.isAfterLast()) {
                Intent intent = new Intent();
                intent.putExtra("playlist", cur.getLong(0));
                subMenu.add(0, Defs.PLAYLIST_SELECTED, 0, cur.getString(1)).setIntent(intent);
                cur.moveToNext();
            }
        }
        if (cur != null) {
            cur.close();
        }
    }
}
 
源代码27 项目: kolabnotes-android   文件: DrawerService.java
public void overrideNotebooks(OnDrawerSelectionChangedListener listener, Collection<Notebook> notebooks){
    final Menu overview = view.getMenu();
    final SubMenu notebookSubmenu = overview.findItem(R.id.navigation_notebooks).getSubMenu();

    notebookSubmenu.clear();

    for(Notebook book : notebooks){
        addNotebook(view.getContext(), notebookSubmenu, listener, book);
    }
}
 
源代码28 项目: LyricHere   文件: MusicUtils.java
/**
 * Fills out the given submenu with items for "new playlist" and
 * any existing playlists. When the user selects an item, the
 * application will receive PLAYLIST_SELECTED with the Uri of
 * the selected playlist, NEW_PLAYLIST if a new playlist
 * should be created, and QUEUE if the "current playlist" was
 * selected.
 *
 * @param context The context to use for creating the menu items
 * @param sub     The submenu to add the items to.
 */
public static void makePlaylistMenu(Context context, SubMenu sub) {
    String[] cols = new String[]{
            MediaStore.Audio.Playlists._ID,
            MediaStore.Audio.Playlists.NAME
    };
    ContentResolver resolver = context.getContentResolver();
    if (resolver == null) {
        System.out.println("resolver = null");
    } else {
        String whereclause = MediaStore.Audio.Playlists.NAME + " != ''";
        Cursor cur = resolver.query(MediaStore.Audio.Playlists.EXTERNAL_CONTENT_URI,
                cols, whereclause, null,
                MediaStore.Audio.Playlists.NAME);
        sub.clear();
        sub.add(1, Defs.QUEUE, 0, R.string.queue);
        sub.add(1, Defs.NEW_PLAYLIST, 0, R.string.new_playlist);
        if (cur != null && cur.getCount() > 0) {
            //sub.addSeparator(1, 0);
            cur.moveToFirst();
            while (!cur.isAfterLast()) {
                Intent intent = new Intent();
                intent.putExtra("playlist", cur.getLong(0));
                sub.add(1, Defs.PLAYLIST_SELECTED, 0, cur.getString(1)).setIntent(intent);
                cur.moveToNext();
            }
        }
        if (cur != null) {
            cur.close();
        }
    }
}
 
源代码29 项目: RetroMusicPlayer   文件: SongsFragment.java
private void setUpSortOrderMenu(@NonNull SubMenu sortOrder) {
    sortOrder.removeItem(R.id.action_sort_order_album_desc);
    sortOrder.removeItem(R.id.action_sort_order_artist_desc);

    switch (getSavedSortOrder()) {
        case SongSortOrder.SONG_ALBUM:
            sortOrder.findItem(R.id.action_sort_order_album).setChecked(true);
            break;
        case SongSortOrder.SONG_A_Z:
            sortOrder.findItem(R.id.action_sort_order_title).setChecked(true);
            break;
        case SongSortOrder.SONG_ARTIST:
            sortOrder.findItem(R.id.action_sort_order_artist).setChecked(true);
            break;
        case SongSortOrder.SONG_DATE:
            sortOrder.findItem(R.id.action_sort_order_date).setChecked(true);
            break;
        case SongSortOrder.SONG_DURATION:
            sortOrder.findItem(R.id.action_sort_order_duration).setChecked(true);
            break;
        case SongSortOrder.SONG_YEAR:
            sortOrder.findItem(R.id.action_sort_order_year).setChecked(true);
            break;
        case SongSortOrder.SONG_Z_A:
            sortOrder.findItem(R.id.action_sort_order_title_desc).setChecked(true);
            break;
    }
}
 
源代码30 项目: VinylMusicPlayer   文件: LibraryFragment.java
private void setUpSortOrderMenu(@NonNull AbsLibraryPagerRecyclerViewCustomGridSizeFragment fragment, @NonNull SubMenu sortOrderMenu) {
    String currentSortOrder = fragment.getSortOrder();
    sortOrderMenu.clear();

    if (fragment instanceof AlbumsFragment) {
        sortOrderMenu.add(0, R.id.action_album_sort_order_asc, 0, R.string.sort_order_a_z)
                .setChecked(currentSortOrder.equals(SortOrder.AlbumSortOrder.ALBUM_A_Z));
        sortOrderMenu.add(0, R.id.action_album_sort_order_desc, 1, R.string.sort_order_z_a)
                .setChecked(currentSortOrder.equals(SortOrder.AlbumSortOrder.ALBUM_Z_A));
        sortOrderMenu.add(0, R.id.action_album_sort_order_artist, 2, R.string.sort_order_artist)
                .setChecked(currentSortOrder.equals(SortOrder.AlbumSortOrder.ALBUM_ARTIST));
        sortOrderMenu.add(0, R.id.action_album_sort_order_year, 3, R.string.sort_order_year)
                .setChecked(currentSortOrder.equals(SortOrder.AlbumSortOrder.ALBUM_YEAR));
        sortOrderMenu.add(0, R.id.action_album_sort_order_date_added, 4, R.string.sort_order_date_added)
                .setChecked(currentSortOrder.equals(SortOrder.AlbumSortOrder.ALBUM_DATE_ADDED));
    } else if (fragment instanceof ArtistsFragment) {
        sortOrderMenu.add(0, R.id.action_artist_sort_order_asc, 0, R.string.sort_order_a_z)
                .setChecked(currentSortOrder.equals(SortOrder.ArtistSortOrder.ARTIST_A_Z));
        sortOrderMenu.add(0, R.id.action_artist_sort_order_desc, 1, R.string.sort_order_z_a)
                .setChecked(currentSortOrder.equals(SortOrder.ArtistSortOrder.ARTIST_Z_A));
    } else if (fragment instanceof SongsFragment) {
        sortOrderMenu.add(0, R.id.action_song_sort_order_asc, 0, R.string.sort_order_a_z)
                .setChecked(currentSortOrder.equals(SortOrder.SongSortOrder.SONG_A_Z));
        sortOrderMenu.add(0, R.id.action_song_sort_order_desc, 1, R.string.sort_order_z_a)
                .setChecked(currentSortOrder.equals(SortOrder.SongSortOrder.SONG_Z_A));
        sortOrderMenu.add(0, R.id.action_song_sort_order_artist, 2, R.string.sort_order_artist)
                .setChecked(currentSortOrder.equals(SortOrder.SongSortOrder.SONG_ARTIST));
        sortOrderMenu.add(0, R.id.action_song_sort_order_album, 3, R.string.sort_order_album)
                .setChecked(currentSortOrder.equals(SortOrder.SongSortOrder.SONG_ALBUM));
        sortOrderMenu.add(0, R.id.action_song_sort_order_year, 4, R.string.sort_order_year)
                .setChecked(currentSortOrder.equals(SortOrder.SongSortOrder.SONG_YEAR));
        sortOrderMenu.add(0, R.id.action_song_sort_order_date_added, 5, R.string.sort_order_date_added)
                .setChecked(currentSortOrder.equals(SortOrder.SongSortOrder.SONG_DATE_ADDED));
    }

    sortOrderMenu.setGroupCheckable(0, true, true);
}
 
 类所在包
 同包方法