views:

39

answers:

1

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?

+1  A: 

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
Dont forget to do that for the other types of activity like ListActivity and MapActivity
WarrenFaith
@WarrenFaith, yes, of course!
st0le
@st0le: 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 Chandrasekaran
I was about to say the same as Praveen... :-)
ggomeze
@Praveen, i already appended the solution. Check the edit. You cannot override Options menu in the `Application` class, it's not defined there.
st0le