Android, Comment créer une option Menu

Ici, j’ai essayé de faire le menu d’options, mais le menu ne s’affiche pas à l’écran, alors guidez-moi s’il vous plaît où je fais erreur …

MenuTest.java

public class MenuTest extends Activity { @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater=getMenuInflater(); inflater.inflate(R.menu.more_tab_menu, menu); return super.onCreateOptionsMenu(menu); } @Override public boolean onOptionsItemSelected(MenuItem item) { switch(item.getItemId()) { case R.id.feeds: break; case R.id.friends: break; case R.id.about: break; } return true; } } 

Et mon fichier XML est more_tab_menu.xml

       

Guidez-moi s’il-vous-plaît,

 public class MenuTest extends Activity { @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.more_tab_menu, menu); // return true so that the menu pop up is opened return true; } } 

et n’oubliez pas d’appuyer sur le bouton de menu ou l’icône sur l’émulateur ou l’appareil

s’il vous plaît voir: ==

 private int group1Id = 1; int homeId = Menu.FIRST; int profileId = Menu.FIRST +1; int searchId = Menu.FIRST +2; int dealsId = Menu.FIRST +3; int helpId = Menu.FIRST +4; int contactusId = Menu.FIRST +5; @Override public boolean onCreateOptionsMenu(Menu menu) { menu.add(group1Id, homeId, homeId, "").setIcon(R.drawable.home_menu); menu.add(group1Id, profileId, profileId, "").setIcon(R.drawable.profile_menu); menu.add(group1Id, searchId, searchId, "").setIcon(R.drawable.search_menu); menu.add(group1Id, dealsId, dealsId, "").setIcon(R.drawable.deals_menu); menu.add(group1Id, helpId, helpId, "").setIcon(R.drawable.help_menu); menu.add(group1Id, contactusId, contactusId, "").setIcon(R.drawable.contactus_menu); return super.onCreateOptionsMenu(menu); } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case 1: // write your code here Toast msg = Toast.makeText(MainHomeScreen.this, "Menu 1", Toast.LENGTH_LONG); msg.show(); return true; case 2: // write your code here return true; case 3: // write your code here return true; case 4: // write your code here return true; case 5: // write your code here return true; case 6: // write your code here return true; default: return super.onOptionsItemSelected(item); } } 

Modifier votre méthode onCreateOptionsMenu pour retourner true . Pour citer les documents :

Vous devez retourner true pour que le menu soit affiché; si vous retournez faux, il ne sera pas affiché.

 @Override public boolean onCreateOptionsMenu(Menu menu) { new MenuInflater(this).inflate(R.menu.folderview_options, menu); return (super.onCreateOptionsMenu(menu)); } @Override public boolean onOptionsItemSelected(MenuItem item) { if (item.getItemId() == R.id.locationListRefreshLocations) { Cursor temp = helper.getEmployee(active_employeeId); Ssortingng[] matches = new Ssortingng[1]; if (temp.moveToFirst()) { matches[0] = helper.getEmployerID(temp); } temp.close(); startRosterReceiveBackgroundTask(matches); } else if (item.getItemId()==R.id.locationListPrefs) { startActivity(new Intent(this, PreferencesUnlockScreen.class)); return true; } return super.onOptionsItemSelected(item); } 

Replace return super.onCreateOptionsMenu (menu); avec retour true dans votre méthode onCreateOptionsMenu Cela vous aidera

Et vous devriez aussi avoir la méthode onCreate dans votre activité

 import android.app.Activity; import android.os.Bundle; import android.view.*; import android.widget.*; public class AndroidWalkthroughApp2 extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } @Override public boolean onCreateOptionsMenu(Menu menu) { // show menu when menu button is pressed MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.options_menu, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // display a message when a button was pressed Ssortingng message = ""; if (item.getItemId() == R.id.option1) { message = "You selected option 1!"; } else if (item.getItemId() == R.id.option2) { message = "You selected option 2!"; } else { message = "Why would you select that!?"; } // show message via toast Toast toast = Toast.makeText(this, message, Toast.LENGTH_LONG); toast.show(); return true; } } 

Les réponses précédentes ont couvert le menu traditionnel utilisé dans Android. Leur est une autre option que vous pouvez utiliser si vous cherchez une alternative

https://github.com/AnshulBansal/Android-Pulley-Menu

Le menu de poulie est une alternative au menu traditionnel qui permet à l’utilisateur de sélectionner n’importe quelle option pour une activité de manière intuitive. Le menu est révélé en faisant glisser l’écran vers le bas et dans ce geste, l’utilisateur peut également sélectionner l’une des options.

La programmation de l’interface utilisateur Android est un peu délicate. Pour activer le menu Options, en plus du code que vous avez écrit, vous devez également appeler setHasOptionsMenu (true) dans votre méthode de remplacement OnCreate (). Espérons que cela va vous aider.

SI votre appareil utilise Android v.4.1.2 ou avant,
le menu ne s’affiche pas dans la barre d’actions.
Mais il est possible d’y accéder via Menu- (hardware) -Button.

Bonne journée J’ai été coché Et si vous choisissez Activity vide Vous n’avez pas de fonctions de menu intégrées Pour Construire Dans Vous devez choisir Activity base De cette façon, votre Activity s’exécutera onCreateOptionsMenu

Ou si vous travaillez en Activity vide depuis le début de Chenge dans styles.xml le