我在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
答案 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时,只需遍历列表并检查它,如果它存在则不添加它,如果没有,则添加它。