I can create an Option Menu for a single Activity. But now I want to create a Logout option in the menu which should be available on all Activities in the App. Is there a possible way to create an Option menu once for an Application?
Asked
Active
Viewed 2,734 times
1 Answers
11
I answered this once on SO, but i forgot where...so here i go again.
Its quite Straightforward.
Create a BaseActivity
(extends Activity
). Implement all your Options Menu Code in this. Override your onOptionsMenu
,etc...
Now, For all your other Activities, instead of extending Activity, extend BaseActivity
. You'll end up deriving all the options menu code...nifty eh?
Code once, use multiple times...
OOP for the win!
Edit: As WarrenFaith points out, you'll need to create BaseListActivity
and BaseMapActivity
if you're using ListActivity
and MapActivity
.

st0le
- 33,375
- 8
- 89
- 89
-
1Dont forget to do that for the other types of activity like ListActivity and MapActivity – WarrenFaith Sep 17 '10 at 07:31
-
Nice Idea. But I want it on `MapActivity` also. My guess: what about the class which extends the Application class. In that class can we create the option Menu? – Praveen Sep 17 '10 at 07:46
-
1I was about to say the same as Praveen... :-) – ggomeze Sep 17 '10 at 07:49
-
@Praveen, i already appended the solution. Check the edit. You cannot override Options menu in the `Application` class, it's not defined there. – st0le Sep 17 '10 at 07:59
-
If you have a ListAcivity and regular activity, is there a way to do this WITHOUT have 2 sets of menu code? – Chris Muench Jan 29 '13 at 19:46