Ich habe einige Probleme, ein Optionsmenü in Android zum Laufen zu bringen. Ich habe schon früher Apps erstellt, und sie haben alle gut funktioniert, aber jetzt wird das Menü einfach nicht angezeigt.
die ganze Methode wird nicht einmal aufgerufen (überprüft durch Setzen eines Breakpoints). Die Aktivität ist super einfach, sie hat nur eine VideoView darin, mit einem OnTouchListener einstellen.
Ich verwende Android 4.0.4 auf einem Samsung Galaxy 10.1, API-Level 15, minSDK 15. Übersehe ich etwas?
Welches Theme verwendest du? Sie erhalten kein Menü, wenn Sie den Vollbildmodus verwenden …
– Warpzit
7. November 2012 um 9:44 Uhr
Keine Titelleiste: android:theme="@android:style/Theme.Black.NoTitleBar"ich habe es mit Erfolg für andere Apps verwendet.
– Bart Friedrichs
7. November 2012 um 9:45 Uhr
Humor mich und versuche es auf etwas wie Holo usw. einzustellen.
– Warpzit
7. November 2012 um 9:47 Uhr
Recht. In Holo wird es aufgerufen.
– Bart Friedrichs
7. November 2012 um 9:48 Uhr
Dies könnte relevant sein: stackoverflow.com/q/8970083/969325
– Warpzit
7. November 2012 um 9:56 Uhr
Martin Cazares
In den neuesten Versionen von Android passiert dies bei Verwendung der Kompatibilitätsbibliothek für die Symbolleiste sehr häufig. Damit die Menüelemente in der Symbolleiste angezeigt werden, müssen Sie Folgendes tun:
Anruf setHasOptionsMenu Funktion ab onCreate Erste. Das onCreateOptionsMenu wird automatisch aufgerufen.
Versuche dies:
setHasOptionsMenu(true)
Dies gilt nur für Fragmente. Viele weitere Tipps und Tricks im Zusammenhang mit dem Optionsmenü und Fragmenten finden Sie hier: stackoverflow.com/questions/6279571/…
– RenniePet
23. Oktober 2014 um 19:00 Uhr
Dies hat bei mir bei der Verwendung von Fragmenten nicht funktioniert. – 27.12.2017
– der Lernende
27. Dezember 2017 um 21:20 Uhr
Wenn das Telefon, auf dem Sie testen, eine Menüschaltfläche hat, wird onCreateOptionsMenu nicht aufgerufen, wenn Sie mit dem Design beginnen:
Aber wenn Sie auf die Menüschaltfläche klicken onCreateOptionsMenu wird angerufen werden. Ich weiß nicht, was bei Telefonen ohne Hardwaretasten passiert …
ohne Hardwaretasten wird das Menü einfach überhaupt nicht gerendert
– Bart Friedrichs
7. November 2012 um 10:24 Uhr
@BartFriederichs autsch, aber gut zu wissen. Ich hatte gehofft, da wäre was =/
– Warpzit
7. November 2012 um 10:33 Uhr
Sterling Diaz
Bei der Methode: Fragment#onCreateView(...) du solltest setzen:
setHasOptionsMenu(true);
Dann wird Ihre Methode aufgerufen.
Allen
Das liegt an der Aktivität nicht haben die Symbolleiste.
Es gibt 2 Schritte, um es zu tun.
Zuerstmüssen Sie die Symbolleiste in Ihrer activity.xml hinzufügen, die sich in res/layout befindet
val toolbar = findViewById<Toolbar>(R.id.toolbar)
setSupportActionBar(toolbar)
LBes
Ich hatte das gleiche Problem (Menü wird nicht angezeigt, onCreateOptionsMenu nicht angerufen werden).
Wenn Sie dies innerhalb eines Fragments aufrufen, müssen Sie es überschreiben public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) nicht public boolean onCreateOptionsMenu(Menu menu). Fragments Verwenden Sie letzteres nicht, damit sie es nicht einmal anrufen.
Welches Theme verwendest du? Sie erhalten kein Menü, wenn Sie den Vollbildmodus verwenden …
– Warpzit
7. November 2012 um 9:44 Uhr
Keine Titelleiste:
android:theme="@android:style/Theme.Black.NoTitleBar"
ich habe es mit Erfolg für andere Apps verwendet.– Bart Friedrichs
7. November 2012 um 9:45 Uhr
Humor mich und versuche es auf etwas wie Holo usw. einzustellen.
– Warpzit
7. November 2012 um 9:47 Uhr
Recht. In Holo wird es aufgerufen.
– Bart Friedrichs
7. November 2012 um 9:48 Uhr
Dies könnte relevant sein: stackoverflow.com/q/8970083/969325
– Warpzit
7. November 2012 um 9:56 Uhr