点击按钮时改变 imagebutton 的图像

我想在程序中设置当点击和释放 imageButton 时,改变它的图像。当再次点击和释放时,图像就会被改回去,如何实现呢?
我试着使用 selector,但是还是没有实现,请大家帮忙。

使用下面的 selector

<?xml version="1.0" encoding="utf-8"?>
<selector
  xmlns:android="http://schemas.android.com/apk/res/android">
   <item 
    android:state_pressed="true"
    android:drawable="@drawable/pressedImage"/>
  <item 
    android:state_focused="true"
    android:drawable="@drawable/normalImage"/>
  <item android:drawable="@drawable/normalImage"/>
</selector>

你可以用两个ImageView实现这个功能, 第一次点击是前面一个ImageView, 第二次点击是第二个ImageView, 两个ImageView放在同一个位置上,只是改变它们的可见性。

在drawable folder a.xml :

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
  <item
    android:state_pressed="true"
    android:drawable="@drawable/oneImage" />
  <item
    android:state_pressed="false"
    android:drawable="@drawable/secondImage" />
</selector>

在 main 文件中: button have implment following code ::

<ImageButton android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:text="anything"
        android:id="@+id/first"
        android:background="@drawable/a"
        android:textColor="#FFFFFF" 
        android:textStyle="bold"
        ></ImageButton>