Samozřejmostí většiny aplikací je přítomnost nějakého menu. Platforma Android umožňuje vytvářet menu opravdu jednoduše, demonstruje to následující příklad:
package cz.minmax.android;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
public class MenuTest 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)
{
super.onCreateOptionsMenu(menu);
menu.add("Uložit");
menu.add("Otevřít");
menu.add("Ahoj");
menu.add("Čau");
menu.add("Položka XY");
menu.add("Položka Z");
menu.add("Položka ahoj");
return true;
}
}Metoda onCreateOptionsMenu je zavolána tehdy, když je menu potřeba poprvé vytvořit. Dále už se jen zobrazuje. Do položek menu se dají přidávat ikonky, v našem případě máme pro jednoduchost jen slovní popis. Pokud spustíte tento kód, výstup vypadá takto (po stisknutí tlačítka MENU):

Po kliknutí na některou položku se však (zatím) nic nestane. K tomu, aby se vyvolala nějaká akce, slouží metoda onOptionsItemSelected(Menu.Item item). Doplníme o ni tedy náš kód:
@Override
public boolean onOptionsItemSelected(Menu.Item item)
{
/** Select statement to handle calls to specific menu items */
switch (item.getId())
{
case 0:
//do something
return true;
case 1:
return true;
case 2:
return true;
case 3:
return true;
case 4:
return true;
case 5:
return true;
case 6:
return true;
case 7:
return true;
}
return true;
}
V metodě je potřeba rozlišit číslo stisknuté položky, to se získa jako item.getId(). V našem kódu se bere číslo položky její pořadí, případně se dá explicitně určit přetíženou metodou
add(int groupId, int itemId, int order, int titleRes). Viz API reference.