¿Cómo cambiar la imagen de un botón con cada clic?

Creé unbutton en ellayout . En elDrawable carpeta he creado unXML file llamadobtn01_state. losbtn01_state.xml se asigna a labutton He creado a través de "android:background=@drawable/btn01_state"

Ahora elbutton tiene un valor predeterminadoimage img1.cuando yoclick sobre elbutton, la imagen1 cambia a img2, y una vez que suelte el botón del mouse, la imagen2 nuevamente cambia a img1 nuevamente.

Lo que quiero hacer es cambiar la imagen del botón con cada clic.

para un ejemplo, inicialmente btn01 tiene img01

si se presiona btn01 ==> establezca img de btn01 en img02 y mantenga img02 hasta que se presione nuevamente btn01. Ahora, btn01 tiene img02 en él.

Cuando se presiona btn01, configure img01 en btn01.

Espero que esto aclare más lo que quiero hacer.

btn_selector:

<code><selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/android_blue"
      android:state_pressed="true" />
<item android:drawable="@drawable/ic_launcher"
      android:state_focused="true" />
<item android:drawable="@drawable/ic_launcher" />
</code>

main.xml

<code><Button 
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:id="@+id/btn01"
    android:background="@drawable/btn01_state"/>
</code>

Respuestas a la pregunta(3)

Su respuesta a la pregunta