• Home
  • Youzik
  • Papystreaming
  • Darknet
  • Libertyland
  • Cacaoweb
  • GG maps
  • Yggtorrent
  • Zone téléchargement

Grimag

  • Accueil
  • Catégories
    • Smartphone
    • High Tech
    • Business
    • Web
    • Appli Jeux Vidéo
    • Shopping
  • Android c’est quoi ?
  • Nous Contacter
  • Nos comparatifs
    • Drone avec caméra
    • Clavier d’ordinateur
    • Onduleur
    • GPS
    • Répéteur WiFi

Gérer le menu de son application avec la class MonMenu sous android



Dans les applications Android pour créer un menu il faut implémenter (écrire)  la méthode onCreateOptionsMenu décrivant son menu, et la méthode onOptionsItemSelected pour les actions du menu, lire ce tuto Développez une application pour android etape 2 (le menu).
Par contre quand votre application commence à avoir plusieurs pages, ça devient très vite compliqué de gérer son menu, parce qu’à chaque fois qu’on rajoute un item dans un menu il faut repasser dans toutes ses classes.
Une des solutions, est de créer une classe MonMenu.java dans laquelle j’implémente les différents items et actions de mon menu.

public class MonMenu extends Activity{
    
	private  Context lecontext=this;
@Override
    public boolean onCreateOptionsMenu(Menu menu) {
       MenuInflater inflater = getMenuInflater();
       boolean result = super.onCreateOptionsMenu(menu);
       int i=0;
       //inflater.inflate(R.menu.menurepas, menu);
       SubMenu Menu1 = menu.addSubMenu(0,1,i,"Menu1");i++;
       SubMenu Menu2= menu.addSubMenu(0,2,i,"Menu2");i++;
      //**************sous menu****************************
        Menu1.add(1,11,1,"Sousmenu11");
       Menu1 .add(1,12,2,"Sousmenu12");
       
       Menu2.add(1,21,1,"Sousmenu21");
       Menu2.add(1,22,2,"Sousmenu22");   
      
       
       return true;
   }

 public boolean onOptionsItemSelected(MenuItem item) {
	    switch (item.getItemId()) {
           //***************lance activity menu1***************
          case 1:
       		Intent defineIntent1 = new Intent(lecontext,Menu1.class);
       		lecontext.startActivity(defineIntent1);
       		return true;
//***************lance activity menu2***************
          case 2:
       		Intent defineIntent2 = new Intent(lecontext,Menu2.class);
       		lecontext.startActivity(defineIntent2);
       		return true;
//***************lance activity sousmenu11***************
          case 11:
       		Intent defineIntent11 = new Intent(lecontext,Menu11.class);
       		lecontext.startActivity(defineIntent11);
       		return true;
//***************lance activity sous  menu12***************
          case 12:
       		Intent defineIntent12 = new Intent(lecontext,Menu12.class);
       		lecontext.startActivity(defineIntent12);
       		return true;
//***************lance activity sous menu21***************
          case 21:
       		Intent defineIntent21 = new Intent(lecontext,Menu21.class);
       		lecontext.startActivity(defineIntent21);
       		return true;
//***************lance activity sous menu22***************
          case 22:
       		Intent defineIntent22 = new Intent(lecontext,Menu22.class);
       		lecontext.startActivity(defineIntent22);
       		return true;
         }
}
 }

Ensuite chacune des classes de votre application deviennent juste des extensions de cette classe MonMenu.java
exemple:

public class Gestionrepas extends MonMenu {

.......
}
 

Comme ça, vous ne gérez plus votre menu qu’avec cette classe.

Il est temps de mettre à profit les tutoriels d’Android France:
Passez à la vitesse supérieure et investissez quelques dizaines d’euros pour acquérir les connaissances qui vous feront gagner de l’argent avec vos applications rendez-vous sur notre boutique Android-france pour ces formations en vidéo

Août 25, 2009Gnakouri Danon


Après les systemes pour téléphone mobile, HTC s'occupe maintenant des voituresAndroid Developer Challenge 2 ouvre la soumission des applications
Gnakouri Danon

Co-fondateur du site Android france, senior lead developper, passionné de bière et de cigare cubain

25 août 2009 Developpement, Tuto développementandroid, Application, menu270

2023 © Android-France