Java 如何将一个ImageView复制到另一个ImageView?

Java 如何将一个ImageView复制到另一个ImageView?,java,android,imageview,clone,deep-copy,Java,Android,Imageview,Clone,Deep Copy,比如说,ImageView i1中有一个图像,我想将ImageView i1复制到ImageView i2,不仅仅是将i2引用到i1,而是实际复制 ImageView i2 = new ImageView(context); i2 = i1; //i2 only refers to i1 如果有一个类,我们将ImageView作为其构造函数的参数传递 public class CopyEx{ public ImageView i2; public CopyEx(ImageView i,

比如说,ImageView i1中有一个图像,我想将ImageView i1复制到ImageView i2,不仅仅是将i2引用到i1,而是实际复制

ImageView i2 = new ImageView(context);
i2 = i1;    //i2 only refers to i1
如果有一个类,我们将ImageView作为其构造函数的参数传递

public class CopyEx{
public ImageView i2;

public CopyEx(ImageView i, Context c){
   i2 = new ImageView(c);
   i2 = i;    //This also only refers to i and not copy it
}
}
唯一有效的办法就是做

i2.setImageDrawable(i1.getDrawable());
and
i2.setTag(i1.getTag());
那么,有没有复制ImageView的方法?

使用此方法进行复制

BitmapDrawable drawable = (BitmapDrawable) imageView1.getDrawable();
Bitmap bitmap = drawable.getBitmap();
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 100, stream);
byte[] byteArray = stream.toByteArray();
然后用这个来粘贴

Bitmap bmp = BitmapFactory.decodeByteArray(byteArray, 0, byteArray.length);
ImageView image2 = (ImageView) findViewById(R.id.imageView2);
image2.setImageBitmap(bmp);