我在导航视图中使用网络动态数据创建动态菜单项。我知道我可以通过以下两种方式创建动态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?任何想法或替代方案都是欣赏。
答案 0 :(得分:0)
使用此语法动态添加itemId
Menu m = navigationView.getMenu();
SubMenu topChannelMenu = m.addSubMenu(int groupId,
int itemId,
int order,
CharSequence title);