{"id":20,"date":"2012-07-06T17:26:00","date_gmt":"2012-07-06T17:26:00","guid":{"rendered":"http:\/\/cyol.fr\/blogwp\/?p=20"},"modified":"2013-11-14T16:18:59","modified_gmt":"2013-11-14T15:18:59","slug":"dev-android-srdice-modifier-le-menu-au-lancement-d-une-activity","status":"publish","type":"post","link":"https:\/\/cyol.fr\/blog\/post\/dev-android-srdice-modifier-le-menu-au-lancement-d-une-activity\/","title":{"rendered":"D\u00e9v Android SRDice : Modifier le menu au lancement d&rsquo;une activity"},"content":{"rendered":"<p><a href=\"https:\/\/cyol.fr\/blog\/wp-content\/uploads\/billets\/icones\/Android_Robot_100.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-124\" title=\"Android_Robot_100\" alt=\"Logo Android\" src=\"https:\/\/cyol.fr\/blog\/wp-content\/uploads\/billets\/icones\/Android_Robot_100.png\" width=\"85\" height=\"100\" \/><\/a>Quand je suis dans une Activity donn\u00e9e, je n&rsquo;ai pas besoin d&rsquo;avoir dans le menu le bouton pour y retourner. Il faut donc modifier le menu lors du lancement d&rsquo;une activity pour \u00e9viter \u00e7a.<\/p>\n<p><!--more--><\/p>\n<p>Pour cela, en d\u00e9veloppement Android, on utilise la m\u00e9thode <a title=\"Android Devlopper guide : onCreateOptionsMenu\" href=\"http:\/\/developer.android.com\/guide\/topics\/ui\/menus.html#options-menu\" hreflang=\"en\">onCreateOptionsMenu<\/a>.<\/p>\n<p>Cette m\u00e9thode est appel\u00e9e soit au moment o\u00f9 on fait la premi\u00e8re demande pour afficher le menu (action du bouton \u00ab\u00a0menu\u00a0\u00bb sur les appareils android en ayant encore) soit au lancement de l&rsquo;activity pour afficher la barre d&rsquo;actions (action bar, depuis android 3.0 le bouton menu est deprecated ).<\/p>\n<p>Si on veut faire une action \u00e0 chaque demande, dans la m\u00eame logique que onCreateDialog et onPrepareDialog, il existe onPrepareOptionsMenu.<\/p>\n<p>On peut ici ajouter, supprimer, modifier des \u00e9l\u00e9ments du menu.<\/p>\n<p>Dans mon cas j&rsquo;ai d\u00e9cid\u00e9 pour chaque Activity d&rsquo;ajouter un \u00e9l\u00e9ment dans le menu qui permet de basculer vers l&rsquo;autre.<\/p>\n<p>De plus, lorsqu&rsquo;on ajoute un \u00e9l\u00e9ment dans le menu, il est possible de lui affecter directement une intention : le lancement d&rsquo;une activity :<\/p>\n<pre class=\"brush:java\">\/**\r\n * Mise \u00e0 jour du menu\r\n *\/\r\n@Override\r\npublic boolean onCreateOptionsMenu(Menu menu) {\r\n\tMenuItem menuItem = menu.add(0, 1, 0, R.string.menu_extended);\r\n\tmenuItem.setIcon(android.R.drawable.ic_menu_zoom);\r\n\tmenuItem.setIntent(new Intent(this, SRDExtendedActivity.class));\r\n\treturn super.onCreateOptionsMenu(menu);\r\n}<\/pre>\n<p>On s&rsquo;\u00e9pargne ainsi le <a title=\"SRDice Tests Etendus 1 : switch entre 2 activity\" href=\"https:\/\/cyol.fr\/blog\/post\/srdice-tests-etendus-1-switch-entre-2-activity\/\">lancement de l&rsquo;activity depuis le onMenuItemSelected<\/a> que j&rsquo;avais \u00e9tudi\u00e9 au d\u00e9but de mon travail sur l&rsquo;ajout des Tests \u00c9tendus dans SRDice.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Quand je suis dans une Activity donn\u00e9e, je n&rsquo;ai pas besoin d&rsquo;avoir dans le menu le bouton pour y retourner. Il faut donc modifier le menu lors du lancement d&rsquo;une activity pour \u00e9viter \u00e7a. Pour cela, en d\u00e9veloppement Android, on utilise la m\u00e9thode onCreateOptionsMenu. [&#8230;]<\/p>\n","protected":false},"author":1,"featured_media":124,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10,2,4],"tags":[26,114,62,112,32],"class_list":["post-20","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-android","category-developpement","category-srdice","tag-activity","tag-android","tag-developpement-2","tag-srdice","tag-tests-etendus","odd"],"_links":{"self":[{"href":"https:\/\/cyol.fr\/blog\/wp-json\/wp\/v2\/posts\/20","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cyol.fr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cyol.fr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cyol.fr\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cyol.fr\/blog\/wp-json\/wp\/v2\/comments?post=20"}],"version-history":[{"count":5,"href":"https:\/\/cyol.fr\/blog\/wp-json\/wp\/v2\/posts\/20\/revisions"}],"predecessor-version":[{"id":1079,"href":"https:\/\/cyol.fr\/blog\/wp-json\/wp\/v2\/posts\/20\/revisions\/1079"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cyol.fr\/blog\/wp-json\/wp\/v2\/media\/124"}],"wp:attachment":[{"href":"https:\/\/cyol.fr\/blog\/wp-json\/wp\/v2\/media?parent=20"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cyol.fr\/blog\/wp-json\/wp\/v2\/categories?post=20"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cyol.fr\/blog\/wp-json\/wp\/v2\/tags?post=20"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}