Nel precedente articolo abbiamo visto come definire il menu, procediamo con il codice necessario per agganciare delle azioni alle diverse voci del menu precedentemente creato.
Sempre nella classe LunarLander.java è presente un altro metodo onOptionsItemSelected(MenuItem item)
questo metodo ridefinito dalla classe padre Activity viene richiamato quando l’utente seleziona una qualsiasi voce del menu.
Vediamo in dettaglio il comportamento della prima voce di menu’
switch (item.getItemId()) {
case MENU_START:
mLunarThread.doStart();
return true;
tramite uno switch sull’id selezionato, viene richiamata l’azione corrispondente, in questo caso viene avviato il gioco, vedremo più avanti il comportamento in dettaglio, per il momento procediamo analizzando il primo metodo richiamato della classe LunarLander quando l’activity viene creata, stiamo parlando del metodo
onCreate(Bundle savedInstanceState).

Il primo metodo(requestWindowFeature) serve a disabilitare il titolo della finestra.
Il secondo metodo setContentView, indica al sistema di utilizzare il layout definito a livello XML, anche in questo caso la risorsa viene recuperata con la classe “speciale” R.
Il Layout
Android ha la possibilità di sfruttare due modalità per la definizione dell’interfaccia, la prima mediante codice java, in uno stile simile alle librerie Swing di Java Sdk e l’altro decisamente più semplice ed intuitivo mediante tag xml.

Nella definizione XML del Layout, possiamo notare un ViewGroup(FrameLayout ) che definisce
il contenitore principale degli elementi grafici. Il contenitore principale può al suo interno contenere altri contenitori o elementi grafici.
Per assegnare un ID ad un elemento si utilizza la sintassi @+id/nome_del_id,
questo ID assegnato sarà recuperabile successivamente tramite la classe R.
In questo caso specifico, viene utilizzata una classe LunarView per la rappresentazione a video del gioco vero e proprio.
Tornando al metodo onCreate, tramite la chiamata R.id.lunar, siamo in grado di prendere il riferimento alla classe LunarView.
Successivamente prendiamo dalla classe il riferimento
al thread che si occuperà dell’esecuzione del gioco, settiamo infine uno stato al thread.
Tornando al menu vediamo che per far partire il gioco viene
richiamata una funzione proprio su questo thread recuperato(mLunarThread.doStart();)

