Imagebutton更改编程?

我试图以编程方式更改ImageButton的图像。

我试图复制这段代码,但是setBackgroundDrawable已经被弃用了。

public void giveClue(View view) { Drawable replacer = getResources().getDrawable(R.drawable.icon2); ((ImageButton) view).setEnabled(false); ((ImageButton) view).setBackgroundDrawable(replacer); gameAdapter.giveClue(game); } 

我的button是使用xml创build的,如下所示:

  <ImageButton android:id="@+id/ImageButton2" android:layout_width="24dp" android:layout_height="22dp" android:layout_alignTop="@+id/imageButton1" android:layout_toLeftOf="@+id/ImageButton3" android:src="@drawable/icon" android:onClick="giveClue"/> 

请帮忙。

谢谢。

你的代码试图改变button的背景。 不是它的形象。 那是两回事

  ((ImageButton) view).setImageResource(R.drawable.icon2); 

试试这个为我工作,以编程方式更改背景图片,

  image.setBackgroundResource(R.drawable.ico); 

嗨,你可以使用下面的代码

 if ( Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN ) { ((ImageButton) view).setImageResource(getResources().getIdentifier("icon2", "drawable", getPackageName())); } else { ((ImageButton) view).setImageDrawable(getDrawable(getResources().getIdentifier("icon2", "drawable", getPackageName()))); } 

希望这会帮助你。

试试这个方法:

((ImageButton)视图).setImageDrawable(replacer);

试试((ImageButton) view).setImageDrawable(replacer);