2011-09-01 6 views
2

J'ai des difficultés à créer un sous-menu de bouton radio qui s'affiche lorsqu'un élément de menu du menu des options qui s'affiche lorsqu'un utilisateur appuie sur le bouton de menu est sélectionné. C'est ce que je jusqu'à présent:Menus et sous-menus Android

// Expand the options menu when the user taps their menu button 
public boolean onCreateOptionsMenu(Menu menu) { 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.menu, menu); 
    return true; 
} 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch item.getItemId() { 
     case R.id.expandRadioMenu: 
      // Show the sub-menu and collapse the initial menu 
      return true; 
    } 
} 

Le XML de res/menu/menu.xml se présente comme suit:

<menu 
    xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item 
     android:visible="true" 
     android:enabled="true" 
     android:checkable="false" 
     android:icon="@drawable/ic_menu_mark" 
     android:id="@+id/expandRadioMenu" 
     android:title="Select" 
     android:titleCondensed="select"> 
     <menu> 
     <group 
      android:enabled="true" 
      android:visible="false" 
      android:checkableBehavior="single" 
      android:id="@+id/radio"> 
      <item 
       android:enabled="true" 
       android:visible="true" 
       android:title="Foo" 
       android:titleCondensed="Foo" 
       android:id="@+id/foo"> 
      </item> 
      <item 
       android:enabled="true" 
       android:visible="true" 
       android:title="Bar" 
       android:titleCondensed="Bar" 
       android:id="@+id/bar"> 
      </item> 
     </group> 
     </menu> 
    </item> 
</menu> 

Répondre

0

Je sais que ce n'est pas particulièrement attrayante, mais avez-vous essayé de déplacer le sous-menu dans une .xml séparée fichier? Je l'ai vu fonctionner avant, mais ce n'est pas une solution très prometteuse. Je suppose que cela pourrait encore identifier le problème.

+0

Le problème n'est pas avec le XML, plutôt, j'essaie juste d'afficher le menu. – terrygarcia

+0

Fondamentalement, j'ai juste besoin de ce menu [sous] particulier pour apparaître lorsque l'utilisateur sélectionne "Select" dans le menu des options, et masquer quand ils font une sélection. – terrygarcia

+0

Comment pourrais-je faire apparaître ce sous-menu particulier? – terrygarcia