• Développez une application pour android étape 19 (Ajout de sous menu)

    Publié le 14 juillet 2009 par Guy (GuyTouch)


    Dans cette étape 19, je vais sur l’action “génération aléatoirement de planning” proposer 4 choix :
    Semaine en cours
    Semaine prochaine
    Mois en cours
    Choisissez vos dates.
    Pour cela je vais rajouter un sous-menu à mon menu génération planning, je reprends ma classe principale et je modifie le menu principal dans ma méthode onCreateOptionsMenu ce qui donne :

    ?Download download.txt
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    
    public boolean onCreateOptionsMenu(Menu menu) {
            MenuInflater inflater = getMenuInflater();
            //inflater.inflate(R.menu.options_menu, menu);
            boolean result = super.onCreateOptionsMenu(menu);
            int i=0;
            //inflater.inflate(R.menu.menurepas, menu);
            SubMenu fileMenu = menu.addSubMenu(0,1,i,"Plat du jour");i++;
            SubMenu editMenu = menu.addSubMenu(0,2,i,"Enreg Recette");i++;
            SubMenu genplannMenu = menu.addSubMenu(0,6,i,"Gen planning");i++;
            SubMenu listeCouseMenu = menu.addSubMenu(0,3,i,"Liste courses");i++;
            SubMenu voirPlanningMenu = menu.addSubMenu(0,7,i,"Voir planning");i++;
            SubMenu rechecheMenu = menu.addSubMenu(0,4,i,"Rechercher");i++;
            SubMenu settingMenu = menu.addSubMenu(0,5,i,"setting");i++;
     
            //création du sou menu 
            genplannMenu.add(1,21,1,"Semaine en cour");
            genplannMenu.add(1,22,2,"Semaine prochaine");
            genplannMenu.add(1,23,2,"Mois entier");
            genplannMenu.add(1,24,2,"Choississez vos dates");
     
            objBd = new BDAcces(this);
     
            return true;
        }

    je modifie également ma méthode onOptionsItemSelected pour appeler ma classe qui gère la génération de planning (GenerationPlanning.java), je passe à cette classe une variable stypeplanning, les valeurs de cette variable
    1=>génération semaine en cours
    2=>génération semaine prochaine
    3=>Le mois en cours
    4=>Date au choix
    pour transmette ces valeurs je vais utiliser la classe Bundle du tuto Passer des variables entre Activity sous android

    ?Download download.txt
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    
       public boolean onOptionsItemSelected(MenuItem item) {
            switch (item.getItemId()) {
          //***************ouverture enregistrement recette***************
            case 2:
         		Intent defineIntent = new Intent(this,EnregRecette.class);
         		this.startActivity(defineIntent);
         		return true;        
            case 5:
         		Intent defineIntent5 = new Intent(this,Setting.class);
         		this.startActivity(defineIntent5);
         		return true;	
            case 4:
         		Intent defineIntent4 = new Intent(this,RechercherRecette.class);
         		this.startActivity(defineIntent4);
         		return true;	
         //appeler au sous menu semaine en cours
            case 21:
            	Intent defineIntent21 = new Intent(this,GenerationPlanning.class);
            	Bundle objetbunble21 = new Bundle();
            	objetbunble21.putString("stypeplanning","1");
                defineIntent21.putExtras(objetbunble21);
            	this.startActivity(defineIntent21);
     			return true;		
       //appeler au sous menu semaine prochaine
            case 22:
            	Intent defineIntent22 = new Intent(this,GenerationPlanning.class);
            	Bundle objetbunble22 = new Bundle();
            	objetbunble22.putString("stypeplanning","2");
                defineIntent22.putExtras(objetbunble22);
            	this.startActivity(defineIntent22);
     			return true;	
     //appel sous menu mois en cours	
            case 23:
            	Intent defineIntent23 = new Intent(this,GenerationPlanning.class);
            	Bundle objetbunble23 = new Bundle();
            	objetbunble23.putString("stypeplanning","3");
            	defineIntent23.putExtras(objetbunble23);
            	this.startActivity(defineIntent23);
     			return true;	
       //appel au sous menu  choix des dates
            case 24:
            	Intent defineIntent24 = new Intent(this,GenerationPlanning.class);
            	Bundle objetbunble24 = new Bundle();
            	objetbunble24.putString("stypeplanning","4");
                defineIntent24.putExtras(objetbunble24);
            	this.startActivity(defineIntent24);
     			return true;	
     
            }               
            return false;
        }    
    }

    résultat
    etape191 200x300 Développez une application pour android étape 19 (Ajout de sous menu) Android France etape1921 193x300 Développez une application pour android étape 19 (Ajout de sous menu) Android France

    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


    Guy

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

    Twitter Google+ 

  • 0 Commentaire pour ce billet

  • Laissez un commentaire

  • Les Brèves