以编程方式为MenuItem创建动态ID

时间:2018-04-05 09:52:22

标签: android menuitem android-navigation-drawer

我在导航视图中使用网络动态数据创建动态菜单项。我知道我可以通过以下两种方式创建动态MenuItem。

navigationView = (NavigationView) findViewById(R.id.nav_view);
navigationView.getMenu().add("Menu1").setIcon(R.drawable.ic_trending_down_black_24dp);
navigationView.getMenu().add("Menu2").setIcon(R.drawable.ic_trending_up_black_24dp);

 Menu m = navigationView.getMenu();
 SubMenu topChannelMenu = m.addSubMenu("");
 topChannelMenu.add("Menu1").setIcon(R.drawable.ic_trending_down_black_24dp);
 topChannelMenu.add("Menu2").setIcon(R.drawable.ic_trending_up_black_24dp);

我的问题是,在创建这些菜单项后,我想在单击其中一个时执行操作。所以,我尝试为这些菜单设置动态ID,虽然我尝试使用setId()方法,但它不适用于菜单。所以,我的问题是如何为这些菜单设置ID?任何想法或替代方案都是欣赏。

1 个答案:

答案 0 :(得分:0)

使用此语法动态添加itemId

Menu m = navigationView.getMenu();
SubMenu topChannelMenu = m.addSubMenu(int groupId, 
                int itemId, 
                int order, 
                CharSequence title);