我不确定代码,但我尝试这样做:
ImageButton stuff = (ImageButton) createView.findViewById(R.id.stuff);
int stuff2 = stuff.getId();
champs.setImageResource(stuff2);
但是那不起作用,Imagebutton由于某种原因缩小了,没有图像,只有一个灰色的矩形。
答案 0 :(得分:9)
试试这个
Bitmap bitmap = ((BitmapDrawable)stuff.getDrawable()).getBitmap();
答案 1 :(得分:1)
stuff.getId();
这将返回View的id
而不是与之关联的图像资源。因此,您将无法获得与此相关的资源,这就是您没有看到Image
。
将有效的drawable设置为setImageResource
某些内容,例如R.drawable.drawable_id
答案 2 :(得分:0)
您需要设置可绘制资源的ID,但是您要将ID
的{{1}}设置为图像资源。
此处ImageButton
返回stuff.getId()
。
设置有效的可绘制资源,如
R.id.stuff
答案 3 :(得分:0)
试试这个
ImageButton stuff = (ImageButton) createView.findViewById(R.id.stuff);
Drawable d = stuff .getBackground();
champs.setBackgroundDrawable(d);
答案 4 :(得分:0)
这将有助于获取可绘制对象并设置可绘制对象。您还可以获取图像绘制的Bitmap对象。这将设置与图像按钮关联的精确可绘制
ImageButton mButton = new ImageButton(this);
Drawable drawable = mButton.getBackground();
champs.setImageDrawable(drawable)