public override void onPrepareSubMenu(android.view.SubMenu subMenu)
        {
            // Clear since the order of items may change.
            subMenu.clear();
            android.widget.ActivityChooserModel dataModel = android.widget.ActivityChooserModel
                                                            .get(mContext, mShareHistoryFileName);
            android.content.pm.PackageManager packageManager = mContext.getPackageManager();
            int expandedActivityCount  = dataModel.getActivityCount();
            int collapsedActivityCount = System.Math.Min(expandedActivityCount, mMaxShownActivityCount
                                                         );

            {
                // Populate the sub-menu with a sub set of the activities.
                for (int i = 0; i < collapsedActivityCount; i++)
                {
                    android.content.pm.ResolveInfo activity = dataModel.getActivity(i);
                    subMenu.add(0, i, i, activity.loadLabel(packageManager)).setIcon(activity.loadIcon
                                                                                         (packageManager)).setOnMenuItemClickListener(mOnMenuItemClickListener);
                }
            }
            if (collapsedActivityCount < expandedActivityCount)
            {
                // Add a sub-menu for showing all activities as a list item.
                android.view.SubMenu expandedSubMenu = subMenu.addSubMenu(android.view.MenuClass.NONE
                                                                          , collapsedActivityCount, collapsedActivityCount, java.lang.CharSequenceProxy.Wrap
                                                                              (mContext.getString([email protected][email protected]_chooser_view_see_all)));
                {
                    for (int i_1 = 0; i_1 < expandedActivityCount; i_1++)
                    {
                        android.content.pm.ResolveInfo activity = dataModel.getActivity(i_1);
                        expandedSubMenu.add(0, i_1, i_1, activity.loadLabel(packageManager)).setIcon(activity
                                                                                                     .loadIcon(packageManager)).setOnMenuItemClickListener(mOnMenuItemClickListener);
                    }
                }
            }
        }
Beispiel #2
0
 /// <summary>Called to prepare an associated submenu for the menu item backed by this ActionProvider.
 ///     </summary>
 /// <remarks>
 /// Called to prepare an associated submenu for the menu item backed by this ActionProvider.
 /// <p>if
 /// <see cref="hasSubMenu()">hasSubMenu()</see>
 /// returns true, this method will be called when the
 /// menu item is selected to prepare the submenu for presentation to the user. Apps
 /// may use this to create or alter submenu content right before display.
 /// </remarks>
 /// <param name="subMenu">Submenu that will be displayed</param>
 public virtual void onPrepareSubMenu(android.view.SubMenu subMenu)
 {
 }