问题:imagebutton初始显示图片1,当单击该imagebutton时,imagebutton的背景图片显示为图片2,再单击该imagebutton又
      显示图片1,如此反复。
我的思路:对该imagebutton设置监听,当单击的时候,先获取到该imagebutton现在使用的背景图片,然后进行判断该显示哪
          一个背景图片。思路是否正确。
那么:如何获取该imagebutton现在显示的背景图片?

解决方案 »

  1.   

    可以参考这个:
    <?xml version="1.0" encoding="UTF-8"?>   
    <selector xmlns:android="http://schemas.android.com/apk/res/android">   
    <item    
    android:state_pressed="false"  
    android:drawable="@drawable/org" />   
    <item    
    android:state_pressed="true"  
    android:drawable="@drawable/orgpressed" />   
    <item    
    android:state_focused="true"  
    android:drawable="@drawable/orgfocused" />   
    </selector>  
    在XML引用drawable的时候直接引用该xml就可以了,点击的时候就会有预期效果。
      

  2.   

    同LS 直接设置selector就可以了,自己指定按下和不按下的显示图片。
      

  3.   

    设置一个boolean型标志bImageFlg = false;
    在ImageButton点击事件中,
    if() {
    // 设置背景图片1
    } else {
    // 设置背景图片2
    }
    bImageFlg = !bImageFlg;
      

  4.   

    if(bImageFlg) {
    // 设置背景图片1
    } else {
    // 设置背景图片2
    }
    bImageFlg = !bImageFlg;
      

  5.   

    在事件里面这样写
    boolean flag = false;
    if(!flag){
     imageView.setXXXXXX
     flag =  true;  
    }else{
      imageView.setXXXXXX
     flag =  false;
    }
      

  6.   

    最简单的方法:你直接定义一个int count,代表点击次数,第一次点击就加1,第二次点击就归零,在等于1的时候就直接setbackground为第一幅,等于0的时候就setbackground为第二副就可以了
    count+=1;
    if(count==1){
    edit.setBackgroundDrawable(getResources().getDrawable(R.drawable.finish));
    }else if(count==2){
    count=0;
    edit.setBackgroundDrawable(getResources().getDrawable(R.drawable.edit));
    }