Ich habe eine Hauptaktivität, die Optionsmenü nicht verwendet. Ich muss dieses Verhalten implementieren: 1. Wenn die Android Menu-Schaltfläche gedrückt wird, wird ein Popup angezeigt 2. Wenn die Android Menu-Schaltfläche erneut gedrückt wird, wird das Popup-Fenster geschlossen.Abfangen von Android-Menü-Schaltfläche in einem PopupWindow
Ich weiß, wie man # 1 durch Überschreiben onKeyDown() in der Hauptaktivität, aber nicht weiß, wie # 2 zu tun. Wenn das Popup angezeigt wird, wird die onKeyDown() der Hauptaktivität nicht mehr ausgelöst.
Wie kann ich die Schaltfläche Android Menu erfassen, wenn die Hauptaktivität ein geöffnetes Popup hat? (In meinem Fall ist das Popup ein PopupWindow mit einer aufgeblähten Ansicht).
BTW, habe ich versucht, einen Schlüssel Zuhörer auf der Hauptansicht des Popup zu setzen, aber es ist nicht
mTopView.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
LogUtil.debug("*** Key: %d", keyCode);
return false;
}
});
Wenn es nach mir ginge, würde ich das „Pop-up“ in die eigenen Tätigkeit machen, auf diese Weise kann es genau die gleiche Art und Weise wie in der MainActivity erfolgen. Rufen Sie einfach finish() auf, wenn das Menü in der Popup-Aktivität gedrückt wird. – FoamyGuy
Danke. Ich habe viel Code in die Popup-Lösung investiert (sie muss an einer bestimmten Stelle und Form in Bezug auf eine Ankeransicht erscheinen). Wenn ich keinen Weg finden werde, es zum Laufen zu bringen, werde ich versuchen, mich dem Aktivitätsansatz zu nähern. – user1139880