Android Utilizzando lo stesso evento click per una o più viste nell'XML


Esempio

Quando creiamo qualsiasi vista nel layout, possiamo utilizzare l'attributo android: onClick per fare riferimento a un metodo nell'attività associata o nel frammento per gestire gli eventi di clic.

Layout XML

<Button android:id="@+id/button"
    ...
    // onClick should reference the method in your activity or fragment
    android:onClick="doSomething" />

// Note that this works with any class which is a subclass of View, not just Button
<ImageView android:id="@+id/image"
    ...
    android:onClick="doSomething" />

Codice attività / frammento

Nel codice , crea il metodo che hai chiamato, dove v sarà la vista che è stata toccata e fai qualcosa per ogni vista che chiama questo metodo.

public void doSomething(View v) {
    switch(v.getId()) {
        case R.id.button:
            // Button was clicked, do something.
            break;
        case R.id.image:
            // Image was clicked, do something else.
            break;
    }
}

Se lo desideri, puoi anche utilizzare un metodo diverso per ciascuna vista (in questo caso, ovviamente, non è necessario verificare l'ID).