获取android中菜单组中所有项目的ID

时间:2017-01-11 10:46:33

标签: android

我在NavigationDrawer中动态添加菜单项。我想为每个新添加的项目赋予唯一ID。要实现这一点,我必须检查现有的项目ID。

那么,如何做到这一点?还是有其他方法可以做到这一点?

layout.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android">    
<group android:checkableBehavior="single" android:id="@+id/homes">
    <item
        android:id="@+id/default_home"
        android:title="My Home"/>

    <item
        android:id="@+id/add_home"
        android:title="Add home" />
</group>

Activity.java

    final Menu menu = navigationView.getMenu();
    menu.add(R.id.homes,Menu.NONE,0,"MenuItem2"); // replace Menu.NONE with unique id

2 个答案:

答案 0 :(得分:0)

为什么不尝试使用

找到menuItem
 MenuItem menuItem= menu.findItem(R.id.UNIQUE_ID);
 if(menuItem == null){
   //Add to navigation drawer
 } else {
   //Generate new UNIQUE_ID and check again if that ID exists or not
 }

答案 1 :(得分:0)

制作一个Arraylist,当你在导航抽屉中动态添加id时,此时也将该id添加到arraylist中。当你想要添加新的id时,只需遍历列表并检查它,如果它存在则不添加它,如果没有,则添加它。