2010-06-07 20 views
0

En appuyant sur le bouton de menu, j'ai 2 options: Ajouter & de plus. Sur le clic de plus j'ai 3 options: Organiser, Exporter & Exit Sur le clic d'Organiser je veux 5 autres options.Sous-menu dans le menu du menu?

Au clic de plus j'obtiens mon sous-menu. Mais je veux d'autres 5 options sur le clic de organiz.How je continue ???

Mon code dans les régions est la suivante: fichier XML -------------------------------

<?xml version="1.0" encoding="utf-8"?> 
    <menu xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item  
    android:id="@+id/more"  
    android:title="@string/moreMenu"  
    android:icon="@drawable/icon"> 
    <menu> 
     <item android:id="@+id/Organize" 
     android:title="@string/Organize" /> 

     <item android:id="@+id/Export" 
     android:title="@string/Export" /> 
    </menu> 
    </item> 

    <item  
    android:id="@+id/add"  
    android:title="@string/addMenu" 
    android:icon="@drawable/add"/> 
    </menu> 

Java -------------------------

import android.app.Activity; 
import android.os.Bundle; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.widget.Toast; 

public class ToDoList extends Activity { 
Menu menu; 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.todolist); 

    } 



    public boolean onCreateOptionsMenu(Menu menu) { 
     super.onCreateOptionsMenu(menu); 
     getMenuInflater().inflate(R.layout.categorymenu, menu); 

     return true; 


    } 
    public boolean onOptionsItemSelected(MenuItem item) { 
     switch (item.getItemId()) { 

     case R.id.more: 
       Toast.makeText(this, "You pressed more!", Toast.LENGTH_LONG).show(); 
//(What needs to be done from here) 
        return true; 

     case R.id.add: 
      Toast.makeText(this, "You pressed add!", Toast.LENGTH_LONG).show(); 
      return true; 
      } 
     return false; 
     } 
    public boolean onPrepareOptionsMenu(Menu menu) { 
        return true; 
    } 
    } 

Répondre

2

Comme on peut le voir dans Creating Menus sous-menus ne peuvent pas contenir sous-menus.

Vous pouvez afficher un menu contextuel après avoir cliqué sur l'élément dans le menu des options. Cela pourrait afficher vos cinq options supplémentaires dans une vue flottante au-dessus de l'écran.

Vous devez remplacer le onCreateContextMenu pour créer un ContextMenu et je pense que vous devez appeler le contextMenu manuellement dans la méthode onOptionsItemSelected. Pour des ressources sur la façon de créer le menu contextuel, voir ce paragraph dans l'article mentionné ci-dessus.

Pour ouvrir le menu contextuel, vous pouvez appeler le openContextMenu dans votre activité. Vous devrez peut-être enregistrer le menuitem avant de permettre à votre activité de trouver le bon menu contextuel.

+0

OK! Mais alors quelle est la fonctionnalité que nous avons sur nos téléphones portables de telle sorte que lorsque nous cliquons sur 'plus' options en contact, je reçois 'envoyer un message', etc & puis de nouveau en cliquant sur envoyer une petite fenêtre avec 3 options msg, pic msg, mms apparaît. Je veux une fonctionnalité similaire. Que dois-je rechercher? – AceAbhi