如何从ImageButton获取图像?

4

我对这段代码不太确定,但是我尝试着这样做:

ImageButton stuff = (ImageButton) createView.findViewById(R.id.stuff);
int stuff2 = stuff.getId();
champs.setImageResource(stuff2);

但是这并没有起作用,ImageButton因某种原因被缩小了,图片消失了,只剩下一个灰色的矩形。


也许这个能帮到你。 - Phantômaxx
5个回答

9

试一试

Bitmap bitmap = ((BitmapDrawable)stuff.getDrawable()).getBitmap();

1
为什么我收到了这个错误:android.graphics.drawable.TransitionDrawable无法转换为android.graphics.drawable.BitmapDrawable - zihadrizkyef

1
stuff.getId();

这将返回视图的id而不是与其相关联的图像资源。因此,您将没有与此相关的资源,这就是为什么您看不到Image的原因。
将有效的可绘制对象设置为setImageResource,例如:R.drawable.drawable_id

0

您需要设置可绘制资源的ID,但您正在将ImageButtonID设置为图像资源。

这里stuff.getId()返回R.id.stuff

请设置有效的可绘制资源,例如:

ImageButton stuff = (ImageButton) createView.findViewById(R.id.stuff);
stuff.setImageResource(R.drawable.id_of_image);

0

试试这个

ImageButton stuff = (ImageButton) createView.findViewById(R.id.stuff);
Drawable d = stuff .getBackground();
champs.setBackgroundDrawable(d);

0

这将有助于获取可绘制对象并设置可绘制对象。您还可以获取图像可绘制的位图对象。这将设置与imagebutton关联的确切可绘制对象。

ImageButton mButton = new ImageButton(this);
Drawable drawable = mButton.getBackground();
champs.setImageDrawable(drawable)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接