Esempio di applicazione su Android Studio 2
Quest'altra applicazione aiuta a capire il funzionamento di un'app realizzata su Android Studio. Consiste in tre pulsanti. Quando l'utente clicca su un pulsante, l'app rileva l'evento visualizzando un messaggio con il nome del pulsante premuto.
Il layout
Il layout dell'applicazione (activity_main.xml) è composto da tre pulsanti.

L'id dei pulsanti è button1, button2, button3.
Il codice Java
Il codice dell'applicazione (MainActivity.java) è il seguente

Nelle righe 3-7 importo le classi necessarie.
La classe MainActivity viene richiamata all'apertura dell'app e nella riga 4 carica il layout dell'app.
L'app utilizza una classe interna ButtonHandler() richiamata nella riga 16.
La classe interna è definita nelle righe 23-41. Si tratta di una classe privata che implementa l'interfaccia OnClickListener. Pertanto, svolge il ruolo di listener degli eventi (click sui pulsanti).
Come funziona la classe interna?
Il metodo onClick (riga 26) rileva l'evento ossia il click su uno dei pulsanti.
Il metodo view.GetId() rileva l'Id del pulsante su cui è avvenuto il click.
Poi una selezione case (righe 28-39) mostra a video tre messaggi diversi, a seconda se si tratti del pulsante 1, 2 o 3.
Nota. C'è anche un quarto messaggio di default (riga 57) se il click avviene su altri Id, qualora l'app ne abbia. In questo caso non ci sono.
Per visualizzare il messaggio utilizzo la classe show.
Questa classe mostra il messaggio nell'app tramite una pop-up temporanea con Toast.makeTest (riga 44). Dopo pochi secondi svanisce.
Infine l'evento viene scritto anche nel log di sistema (riga 45).
Un codice java alternativo
In alternativa posso usare un'altra strada per realizzare lo stesso programma.
Questo codice usa direttamente la classe MainActivity come listener.

Nelle righe 3-8 importo le classi necessarie al funzionamento del programma.
La classe MainActivity implementa l'OnClickListener.
Quando viene avviata esegue la classe onCreate che carica e visualizza il layout (riga 15), legge le proprietà dei tre pulsanti (righe 17-19) e ascolta gli eventi (click) sui tre pulsanti (righe 21-23).
In questo caso ogni pulsante ha un proprio listener dedicato.
Se l'utente clicca su uno dei pulsanti, il listener lancia la classe onClick (righe 27-42) in cui una Switch mostra dei messaggi di log diversi a seconda del pulsante cliccato.
E così via.
