У меня есть это PopupMenu в моем приложении, и я хотел бы знать, когда он закрыт. С API14+ это легко сделать при добавлении прослушивателя отклонения с помощью setOnDismissListener()
. Но мне нужно знать, когда PopupMenu закрывается из API11+, поэтому я не могу использовать прослушиватель и мне нужна альтернатива для прослушивателя.
Это я уже пробовал:
- переопределить метод
dismiss()
PopupMenu, но он не вызывается при его закрытии. - используйте
PopupMenu.OnMenuItemClickListener
, но он не активируется, когда пользователь щелкает за пределами меню (чтобы закрыть его) или нажимает «назад».
У меня нет других идей, чтобы обнаружить, что меню было закрыто. Поэтому я надеюсь, что у кого-то есть хитрый трюк. В противном случае я не могу использовать PopupMenu...
OnFocusChangeListener
из базового представления или группы просмотра? Честно говоря, я не уверен, что он сработает, но это первое, о чем я могу подумать. Кроме этого, вы можете слушать в 3 точках (menuItemClick, кнопка «Назад», onTouch of contentView), но я уверен, что должно быть что-то лучше этого. - person Geobits   schedule 16.10.2012OnFocusChangeListener
, к сожалению, не работает. У меня есть только представление (на котором я рисую свой пользовательский интерфейс), и не похоже, что оно когда-либо получает фокус (или теряет) его... - person Veger   schedule 16.10.2012