como mudar a imagem de um botão a cada clique?

Eu criei umbutton nolayout . NoDrawable pasta eu criei umXML file nomeadobtn01_state. obtn01_state.xml é atribuído aobutton eu criei através de "android:background=@drawable/btn01_state"

Agora obutton tem um padrãoimage img1.quando euclick nobutton, a imagem1 muda para img2 e, assim que eu solto o botão do mouse, a imagem2 muda novamente para img1 novamente.

O que eu quero fazer é mudar a imagem do botão com o evey click.

por exemplo, inicialmente btn01 tem img01

se btn01 for pressionado ==> defina img de btn01 para img02 e mantenha img02 até que o btn01 seja pressionado novamente. Agora, o btn01 tem img02 nele.

Quando btn01 é pressionado, defina img01 como btn01.

Espero que isso tenha esclarecido mais o que eu quero fazer.

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>

questionAnswers(3)

yourAnswerToTheQuestion