Android, Cómo crear una opción Menú

Aquí traté de hacer un menú de opciones, pero el menú no se muestra en la pantalla, así que por favor, guíenme a donde estoy haciendo un error …

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; } } 

Y mi archivo XML es more_tab_menu.xml

       

Por favor guíame,

 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; } } 

y no olvides presionar el botón o ícono de menú en Emulator o dispositivo

por favor mira: ==

 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); } } 

Cambie su método onCreateOptionsMenu para que devuelva true . Para citar los documentos :

Debe devolver verdadero para que se muestre el menú; si devuelve falso, no se mostrará.

 @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); String[] matches = new String[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); } 

Reemplazar return super.onCreateOptionsMenu (menú); con el retorno verdadero; en su método onCreateOptionsMenu Esto ayudará

Y también debes tener el método onCreate en tu actividad

 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 String 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; } } 

Las respuestas anteriores han cubierto el menú tradicional utilizado en Android. Su es otra opción que puede usar si está buscando una alternativa

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

El menú de poleas es una alternativa al menú tradicional que permite al usuario seleccionar cualquier opción para una actividad de manera intuitiva. El menú se revela arrastrando la pantalla hacia abajo y en ese gesto el usuario también puede seleccionar cualquiera de las opciones.

La progtwigción de la IU de Android es un poco complicada. Para habilitar el menú Opciones, además del código que escribió, también debemos llamar a setHasOptionsMenu (verdadero) en su método modificado OverCreate (). Espero que esto te ayude.

SI su dispositivo está ejecutando Android v.4.1.2 o antes,
el menú no se muestra en la barra de acciones.
Pero se puede acceder a través del Menú- (hardware) -Botón.

Buen día que fui revisado Y si eliges Activity vacía No tienes funciones de comstackción en el menú Para comstackción Debes elegir Activity básica De esta forma tu Activity se ejecutará en onCreateOptionsMenu

O si trabaja en Empty Activity desde el inicio de Chenge en styles.xml