2013-12-08 71 views
-1

我想使用下面的代碼更改imagebutton的圖像。 Eclipse崩潰,但沒有發現錯誤...我也使用setBackgroundResource而不是setImageResource,但它不起作用。 Logcat中沒有任何錯誤。請幫助我找到正確的方法。這個改變圖像按鈕背景的代碼有什麼問題?

我有這個圖像按鈕的兩個圖像。 - edit_on & edit_off XML

的Java

imageblockButton = (ImageButton)findViewById(R.id.buttonblock); 
    imageblockButton.setOnClickListener(new OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      imageblockButton.setImageResource(R.drawable.edit_on); 
      Intent intent1 = new Intent (context, ActivityBlockList.class); 
      startActivity(intent1); 
      v.setClickable(true); 
     } 
    }); 

我的XML是什麼樣子......

<ImageButton android:id="@+id/buttonblock" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:padding="0sp" 
    android:scaleType="centerCrop" 
    android:background="@drawable/edit_off" /> 
+0

我的XML外觀類似s ... user2991267

回答

2
In your xml  
<ImageButton android:id="@+id/buttonblock" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:padding="0sp" 
     android:scaleType="centerCrop" 
     android:src="@drawable/edit_off" /> 

    use src instead of background 
    and 
    ImageButton btn = (ImageButton)findViewById(R.id.buttonblock); 
    btn.setImageResource(R.drawable.newimage); 
+0

非常感謝。我試過你的建議,但它沒有工作... [2013-12-08 18:39:41 - IncomingCallNO]發現新模擬器:emulator -5554 [2013-12-08 18:39:41 - IncomingCallNO ]等待HOME('android.process.acore')啓動...我得到相同的結果。 我認爲編譯器不工作... – user2991267

+0

重新啓動您的eclipse和模擬器 –

+0

現在重新啓動工作,除了我有另一個問題,但。 正如您在上面看到的那樣,通過按下圖像按鈕,屏幕移動到其他活動。但是,當我回到這個屏幕時,它會顯示「新圖像」而不是舊圖像。點擊時應顯示新圖片。你能再幫助我嗎? – user2991267

0

試試這個

imageblockButton.setBackgroundDrawable(getResources().getDrawable(R.drawable.edit_on)); 
+0

非常感謝...但是,它還沒有工作。 我越來越 [2013-12-08 18:39:41 - IncomingCallNO]發現新模擬器:emulator-5554 [2013-12-08 18:39:41 - IncomingCallNO]等待HOME('android.process。 acore')即將推出...... – user2991267