Gelöschter Account
- Forum-Beiträge: 694
16.11.2012, 12:39:33 via Website
16.11.2012 12:39:33 via Website
Ich würde gerne zur Laufzeit ein Submenü dynamisch mit MenuItems füllen. Dabei soll das Submenü an einer ganz bestimmten Position im OptionsMenü erscheinen. Ich dachte mir das ich hierzu in der Menü-XML bereits den <menu> Tag reinsetze und die Position reserviere. Nun würde ich gerne genau an dieser Stelle mehrere MenuItems einklinken. Wie geht das?
XML:
Das dynamische Erzeugen der weiteren Submenü-MenuItems soll dann im onCreateOptionsMenu() erfolgen - aber wie?
* Welcher Eintrag benötigt die "android:id" - das <item> oder das <menu> Tag?
* Wie kann ich ein SubMenu im Code ermitteln? "menu.findItem(R.id.men_zoom)" liefert ja ein MenuItem und kein SubMenu. Ich habe aber auch keine Methode gefunden die als Ergebnis ein SubMenu liefert. Das spricht dann dafür das die "android:id" an das <item> Tag gebunden sein muss.
* Wie klinke ich nun ein SubMenu an genau dieses <item> an und befülle dieses SubMenu mit weiteren MenuItems?
Danke schon mal.
XML:
1...
2<item
3 android:icon="@drawable/ic_menu_stop"
4 android:id="@+id/men_stop"
5 android:showAsAction="ifRoom|withText"
6 android:title="@string/txt_stop" />
7
8<item
9 android:icon="@drawable/ic_menu_zoom"
10 android:id="@+id/men_zoom"
11 android:showAsAction="ifRoom|withText"
12 android:title="@string/txt_zoom"/>
13
14 <menu>
15 <!-- Hier Items dynamisch einhaengen, wie? -->
16 </menu>
17
18<item
19 android:icon="@drawable/ic_menu_search"
20 android:id="@+id/men_search"
21 android:showAsAction="ifRoom|withText"
22 android:title="@string/txt_search"/>
23...
2<item
3 android:icon="@drawable/ic_menu_stop"
4 android:id="@+id/men_stop"
5 android:showAsAction="ifRoom|withText"
6 android:title="@string/txt_stop" />
7
8<item
9 android:icon="@drawable/ic_menu_zoom"
10 android:id="@+id/men_zoom"
11 android:showAsAction="ifRoom|withText"
12 android:title="@string/txt_zoom"/>
13
14 <menu>
15 <!-- Hier Items dynamisch einhaengen, wie? -->
16 </menu>
17
18<item
19 android:icon="@drawable/ic_menu_search"
20 android:id="@+id/men_search"
21 android:showAsAction="ifRoom|withText"
22 android:title="@string/txt_search"/>
23...
Das dynamische Erzeugen der weiteren Submenü-MenuItems soll dann im onCreateOptionsMenu() erfolgen - aber wie?
1@Override
2public boolean onCreateOptionsMenu(Menu menu) {
3 super.onCreateOptionsMenu(menu);
4
5 getMenuInflater().inflate(R.menu.activities, menu);
6
7 // Hier sollen die Items erzeugt werden, wie?
8
9 return true;
10}
2public boolean onCreateOptionsMenu(Menu menu) {
3 super.onCreateOptionsMenu(menu);
4
5 getMenuInflater().inflate(R.menu.activities, menu);
6
7 // Hier sollen die Items erzeugt werden, wie?
8
9 return true;
10}
* Welcher Eintrag benötigt die "android:id" - das <item> oder das <menu> Tag?
* Wie kann ich ein SubMenu im Code ermitteln? "menu.findItem(R.id.men_zoom)" liefert ja ein MenuItem und kein SubMenu. Ich habe aber auch keine Methode gefunden die als Ergebnis ein SubMenu liefert. Das spricht dann dafür das die "android:id" an das <item> Tag gebunden sein muss.
* Wie klinke ich nun ein SubMenu an genau dieses <item> an und befülle dieses SubMenu mit weiteren MenuItems?
Danke schon mal.
— geändert am 16.11.2012, 12:40:26