2015-10-13 4 views
2

Мне нужно показать несколько элементов во всплывающем меню. Они динамически загружаются и добавляются в PopupMenu, который отображается при нажатии кнопки.Не закрывайте PopupMenu на MenuItem-Click

 PopupMenu popupMenu = new PopupMenu(this, view); 
     Menu menu = popupMenu.getMenu(); 

     for (Category c : categories) { 
      menu.add(c.getName()).setCheckable(true); 
     } 

     popupMenu.show(); 

Я включил возможность проверить или снимите детали, но я хочу, чтобы пользователь мог установить или снять больше, чем просто один пункт. На данный момент это невозможно, потому что PopupMenu закрыт, когда пользователь нажимает на элемент.

Неужели кто-то сделал это раньше или имеет идею для достижения моего требования?

+0

Вы решили свою проблему? –

ответ

-2

Когда вы переопределяете public boolean onMenuItemClick(MenuItem item) для обработки события click, верните false вместо true. Это сообщит системе, что нажатие на меню не закончено, и оно не будет закрыто.

+0

Я пробовал обе возможности, но ни «true», ни «false» не принесли решение. – JU5T1C3

+0

Есть ли документация, что возвращаемое значение контролирует это поведение? Это имеет смысл, но я не могу найти его в официальных документах. Как и JU5T1c3, ни одно значение «true» или «false» не останавливает закрытие всплывающего окна для меня. – RedBassett