# selbes Menü auf jeder Activity



## Gast2 (8. Okt 2012)

Hallo,

auf meiner StartActivity habe ich ein Menü eingerichtet.
Dieses Menü möchte ich auf jeder weiteren Activity auch haben.
Muss ich dafür den gesamten Quelltext überall einfügen oder gibt es eine elegantere Variante?

```
//	MENÜ
	@Override
	public boolean onCreateOptionsMenu(Menu menu1) {
		MenuInflater inflater = getMenuInflater();
		inflater.inflate(R.menu.optionsmenu, menu1);
		this.menu = menu1;
		return super.onCreateOptionsMenu(menu1);
	}


	@Override
	public boolean onOptionsItemSelected(MenuItem item) {
		switch (item.getItemId()) {
		case R.id.das_hier:
			machDies();
			return true;
		case R.id.dies_hier:
			machDas();
			return true;
		case R.id.sonstiges:
			machSonstiges();
			return true;
		default:
			return super.onOptionsItemSelected(item);
		}
	}

        public void machDies(){...} u.s.w.
```

Frank


----------



## schlingel (8. Okt 2012)

Pack den Code den du benötigst in eine Klasse MyMenu oder so ähnlich. Wenn du in den einzelnen Zweigen (machDies, machDas, etc.) ein Context-Objekt benötigst, lass das einfach per Konstruktor dem MyMenu übergeben.

Fertig.


----------



## mjdv (8. Okt 2012)

Genau, oder du machst dir eine eigene Activity die von Androids Activity erbt, und überschreibst dort einfach die beiden Methoden fürs Menü. Dann musste halt immer von deiner Activity ableiten.

Vielleicht kannst du auch so was wie eine TabActivity benutzen. Also eine Container Activty welche andere Activitys anzeigt. Einfach mal in den Source von TabActivity schauen, dort hat man nämlich nur ein Menü


----------



## Gast2 (16. Jan 2013)

Würde sich da vielleicht auch eine statische Klasse mit statischen Methoden anbieten?

Frank


----------



## Tomate_Salat (16. Jan 2013)

Ich würde hier einfach mit Fragments arbeiten. Den Inhalt ersetzt du dann einfach entsprechend und das ganze reduziert deine sonst benötigten Activitys auf ein minimum.


----------

