1

在文档中,

addIntentOptions (int groupId, int itemId, int order, ComponentName caller, 
    Intent[] specifics, Intent intent, int flags, MenuItem[] outSpecificItems)

应该收到一个groupId,但在下面的代码中它有一个Menu.CATEGORY_ALTERNATIVE作为groupId,这是什么意思?做CATEGORY_ALTERNATIVE什么?

 menu.addIntentOptions(
                Menu.CATEGORY_ALTERNATIVE,  // Add the Intents as options in the alternatives group.
                Menu.NONE,                  // A unique item ID is not required.
                Menu.NONE,                  // The alternatives don't need to be in order.
                null,                       // The caller's name is not excluded from the group.
                specifics,                  // These specific options must appear first.
                intent,                     // These Intent objects map to the options in specifics.
                Menu.NONE,                  // No flags are required.
                items                       // The menu items generated from the specifics-to-
                                            // Intents mapping
            );
4

1 回答 1

0

您的代码可能来自 \docs\resources\samples\NotePad 方法 menu.addIntentOptions 中的第一个参数表示:项目应属于的组标识符。这也可用于定义批次状态更改的项目组。

实际上,您可以为其指定任何 int 值。Menu.NONE 效果很好!但正如它所暗示的,.it 也可用于定义用于批量状态更改的项目组。跟随您的代码和 else 子句的后续代码行

}else{
        // If the list is empty, removes any alternative actions from the menu
        menu.removeGroup(Menu.CATEGORY_ALTERNATIVE);
    }

并且只有在之前指定了组 ID 时才能执行批量状态更改

于 2013-02-02T16:19:18.750 回答