У меня есть основное действие, которое не использует меню опций. Мне нужно реализовать это поведение: 1. Когда нажата кнопка «Меню Android», отображается всплывающее окно 2. При повторном нажатии кнопки «Меню Android» всплывающее окно отклоняется.Перехват кнопки меню Android в PopupWindow
Я знаю, как сделать # 1, переопределив onKeyDown() в основном действии, но не знаю, как сделать # 2. Когда всплывающее окно отображается, onKeyDown() основного действия больше не запускается.
Как захватить кнопку Android-меню, когда основное действие имеет открытое всплывающее окно? (в моем случае всплывающее окно представляет собой PopupWindow с завышенным представлением).
Кстати, я попытался установить ключ слушателя на главном виде всплывающего окна, но это не срабатывает
mTopView.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
LogUtil.debug("*** Key: %d", keyCode);
return false;
}
});
Если бы это был я, я бы включил «всплывающее окно» в свою деятельность, таким образом это можно сделать так же, как и в MainActivity. Просто вызовите финиш(), когда во всплывающем меню нажата кнопка. – FoamyGuy
Спасибо. У меня есть много кода, вложенных в всплывающее решение (его нужно всплывать в определенном месте и формировать относительно привязанного представления). Если я не найду способ заставить его работать, я попытаюсь применить подход к работе. – user1139880