Wie können wir Menüpunkt dynamisch hinzufügen

hi frnds erstelle eine anwendung die eine tab anwendung ist.

In meinem Home, das sherlockFragmentActivity erweitert, blase ich menu.xml auf und füge Code für den optionMenuitem-Klicklistener hinzu. Die Fragmentaktivität enthält Tabhost und auf jedem Tab werden Fragmente geladen. Das ist meine menu.xml

<item
        android:id="@+id/action_settings"
        android:orderInCategory="100"
        android:showAsAction="always"
       android:icon="@drawable/setting_selector"
        android:title=""
        >
        <menu >
            <item
                android:id="@+id/Profile"
                android:showAsAction="ifRoom"
                android:title="Profile"/>
            <item
                android:id="@+id/chngDoctor"
                android:showAsAction="ifRoom"
                android:title="Change doctor"
                android:visible="false"/>
            <item
                android:id="@+id/changePword"
                android:showAsAction="ifRoom"
                android:title="Change password"/>
            <item
                android:id="@+id/logout"
                android:showAsAction="ifRoom"
                android:title="Logout"/>
        </menu>
    </item>

und das sind meine Methoden onCreateOptionMenu und onOptionItemSelected in der Klasse Home

    @Override
public boolean onCreateOptionsMenu(Menu menu) {
    // TODO Auto-generated method stub
    getSupportMenuInflater().inflate(R.menu.main, menu);
    SubMenu subMenu = (SubMenu) menu.getItem(0).getSubMenu();
    if(userType.equals("admin"))
        subMenu.getItem(1).setVisible(true);
    else
        subMenu.getItem(1).setVisible(false);
    return true;
}

und das ist meine onOptionItemSelected-Methode

  @Override
    public boolean onOptionsItemSelected(MenuItem item) 
    {
        switch (item.getItemId()) {
        case R.id.Profile:
              break;
        case R.id.changePword :
            break;
        case R.id.chngDoctor :
                 break;
        case R.id.logout:
            Home.this.finish();
            break;
        }
        return true;
    }

Ich muss einige Menüs hinzufügen, abhängig vom Tabulatorwechsel. Das heißt, beim Wechseln der Registerkarte lade ich verschiedene Fragmente und wenn sich das Fragment ändert, muss ich dem Menü neue Elemente hinzufügen. Mein ListFrag, der SherlockFragment erweitert und geladen wird, wenn ich auf die dritte Registerkarte klicke. Wenn dieses Fragment geladen wird, muss ich 1 Menüelement zum Menü hinzufügen

Antworten auf die Frage(5)

Ihre Antwort auf die Frage