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);
}
私のボタンは、次のようにxmlを使用して作成されました。
<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"/>
助けてください。
ありがとうございました。
コードがボタンの背景を変更しようとしています。その画像ではありません。これらは2つの異なるものです
((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);
Kotlinの場合、これは私のために動作します
yourimagebuttonID.setImageResource(R.drawable.ic_check_black_24dp)
Kotlinを使用すると、次のことができます。
val myImageButton = ImageButton(context).apply({
background = null
setImageDrawable(ContextCompat.getDrawable(context,
R.drawable.ic_save_black_24px))
})