1

我有一个 ImageButton,当我单击它时,我想更改图像,但前提是这是一个特殊图像(实际上是默认图像)。

我的 xml:

<ImageButton
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/button1"
android:src="@drawable/imgdefault" />

我有一个听众:

public OnClickListener button1Listener = new OnClickListener() {

     @Override
     public void onClick(View v) {
          if (button1.getDrawable().equals(getResources().getDrawable(R.drawable.imgdefault))) {
               button1.setImageResource(R.drawable.newImg);
    }
}

但似乎我的“如果”从来都不是真的。所以我可以检查这是否仍然是我在 ImageButton 上的默认图像?

谢谢您的帮助。

4

1 回答 1

3

有很多方法可以做到,我想到的一种是:

Boolean clicked = new Boolean(false);
button1.setTag(clicked); // wasn't clicked
button1.setOnClickListener( new OnClickListener() {

     @Override
     public void onClick(View v) {
          if( ((Boolean)button1.getTag())==false ){
              button1.setImageResource(R.drawable.newImg);
              button1.setTag(new Boolean(true));
          }
    }
});
于 2013-09-22T20:21:28.520 回答