2013-09-22 69 views
1

我有一個ImageButton,當我點擊它時,我想改變圖像,但只有當這是一個特殊的圖像(實際上是默認圖像)。Android:如何獲取圖像的src按鈕

我的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上的默認圖像?

謝謝你的幫助。

回答

2

有很多方法可以做到這一點,一個在我腦海中的是:

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)); 
      } 
    } 
}); 
+0

THX你的答案,但它似乎是不可能的,從對象轉換爲一個布爾值? – Fabaud

+0

對,只是大寫B.我要編輯答案。 –

+1

它適用於「布爾」!多謝 ! – Fabaud