从代码中删除android菜单项

时间:2016-07-21 23:58:29

标签: android android-layout menu menuitem menu-items

我正在尝试在导航视图中创建订阅列表,当您订阅某个项目时,该项目的类别将显示在导航视图中,当您取消订阅某个类别中的每个项目时,它应该删除该类别从导航视图的菜单中。

问题是删除我需要清除整个列表然后逐项添加的类别,但导航视图不仅仅包含订阅列表:它还允许用户浏览不同的活动。如果我使用menu.clear()方法,也会删除导航项。

要再次添加它们,我需要作为参数的项目ID,组ID,订单int和标题。我知道在哪里获取ID和标题,因为它们是用XML编码的,但我不知道如何在列表中找到顺序,或者是什么。

此外,如果您有更简单或更好的方法来解决此问题,请告知我们。

3 个答案:

答案 0 :(得分:0)

您可以使用菜单

<group...>

在Android文档中搜索该内容。 然后根据需要setGroupVisible / enabled。

答案 1 :(得分:0)

由于您知道菜单项的ID,因此您只需致电menu.removeItem(id)即可删除该项目。

答案 2 :(得分:0)

我被告知RemoveItem可能会导致问题,所以我试图避免这种情况。

我所做的是从我不想删除的项目中找到项目和组ID,清除列表,然后添加具有补充顺序的项目(我只是为每个项目创建了一个变量并递增了它需要),然后在没有交互的情况下添加项目所需的项目名称。