Поскольку я создаю элементы подменю динамически, очевидно, что индекс MenuItems будет только динамическим.так вот, что я столкнулся с проблемой.
пока я успешно создал пункты меню динамически внутри onCreateOptionsMenu функция
SubMenu switchMenu = menu.addSubMenu("My Menu");
for(int i=0;i<myList.getListSize();i++){
switchMenu.add(FILE, NEW_MENU_ITEM+i, 0, myList.get(i).data);
}
Теперьпроблема возникает, когда элементы меню выбираются внутри onOptionsItemSelected
//get the the selected index
int selectedMenuIndex = item.getItemId();
// Pass it to a function in another activity
myList.myActivity.switch(selectedMenuIndex);
//Finishing the current activity and loads the previously selected
finish();
Когда загружается родительское меню и я щелкаю по нему, чтобы получить подменю, android автоматически выбирает первое подменюв списке, т. е. index = 0, и немедленно запускает приведенный выше код, и он не ждет загрузки остальной части подменю и позволяет пользователю выбирать из элемента подменей, который я создал динамически.