Crear Sub Menú en Android a través de código

Creo un submenú en Android usando XML File . Pero quiero crearlo usando el código de programación .

¿Es posible crear?

¿Cómo puedo lograrlo?

Gracias.

Este código está funcionando

import android.app.Activity; import android.os.Bundle; import android.view.Gravity; import android.view.Menu; import android.view.MenuItem; import android.view.SubMenu; import android.widget.Toast; /** * Class which shows how to work with Submenus * * @author FaYna Soft Labs */ public class Main extends Activity { private static final int FILE = 0; private static final int EDIT = 1; private static final int NEW_MENU_ITEM = Menu.FIRST; private static final int SAVE_MENU_ITEM = NEW_MENU_ITEM + 1; private static final int UNDO_MENU_ITEM = SAVE_MENU_ITEM + 1; private static final int REDO_MENU_ITEM = UNDO_MENU_ITEM + 1; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } @Override public boolean onCreateOptionsMenu(Menu menu) { SubMenu fileMenu = menu.addSubMenu("File"); SubMenu editMenu = menu.addSubMenu("Edit"); fileMenu.add(FILE, NEW_MENU_ITEM, 0, "new"); fileMenu.add(FILE, SAVE_MENU_ITEM, 1, "save"); editMenu.add(EDIT, UNDO_MENU_ITEM, 0, "undo"); editMenu.add(EDIT, REDO_MENU_ITEM, 1, "redo"); return super.onCreateOptionsMenu(menu); } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case NEW_MENU_ITEM: showMsg("New"); break; case SAVE_MENU_ITEM: showMsg("Save"); break; case UNDO_MENU_ITEM: showMsg("Undo"); break; case REDO_MENU_ITEM: showMsg("Redo"); break; } return super.onOptionsItemSelected(item); } private void showMsg(String message) { Toast msg = Toast.makeText(Main.this, message, Toast.LENGTH_LONG); msg.setGravity(Gravity.CENTER, msg.getXOffset() / 2, msg.getYOffset() / 2); msg.show(); } } 

El submenú es otra forma de agrupar los elementos del menú.

Voy a mostrar cómo crear, agregar elementos y manejar la selección de elementos.

Creación de submenú y adición de elementos:

  @Override public boolean onCreateOptionsMenu(Menu menu) { SubMenu fileMenu = menu.addSubMenu("File"); fileMenu.add(FILE, NEW_MENU_ITEM, 0, "new"); ... 

Manejar selecciones de elementos del submenú

  @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case NEW_MENU_ITEM: doSomething(); break; ... 

Estos sencillos fragmentos de código muestran cómo crear y usar Submenú. También voy a publicar todo el ejemplo. Copiar a su IDE y ejecutarlo:

  • Efecto de marca para la vista de texto elemento de lista personalizada en el enfoque de tacto
  • ¿Qué puedo hacer cuando obtengo un error "no se puede resolver con un tipo"?
  • El fondo de la ventana está recortado por la barra de estado
  • Android Cómo ajustar el diseño en el modo de pantalla completa cuando el teclado virtual está visible
  • ¿Cómo puedo crear un ListView con divisiones de línea punteadas / punteadas en Android?
  • ¿UI de Android sin botones?
  • El margen no tiene impacto en "incluir"
  • Use caracteres especiales en strings.xml para cargar en WebView
  • ¿Por qué los gráficos de 9 parches tienen un tamaño correcto en el emulador pero no en un teléfono?
  • Cambio de vista de la aplicación de Android en lugar de emulador
  • Fragment_main y activity_main en Android Studio
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.