同步两个imageview src

时间:2011-06-15 07:16:06

标签: android imageview synchronize

我必须在我的活动中将相同的图像设置为两个图像视图。图像从互联网上下载并通过一种方法异步设置到imageview 1,该方法将图片的网址和一个图像视图作为参数。

我可以将imageview 2的源与imageview 1同步(即,只要图像在图像1中设置,它也会将其设置为图像2)?

1 个答案:

答案 0 :(得分:2)

您可以更改下载方法,使其接受列表或ImageView数组或varargsdownload(String url, ImageView... imageViews)

更新 ImageViews的同步可以通过子类化完成。

class MyImageView extends ImageView {
    private OnImageChangedListener onImageChangedListener;

    public MyImageView(Context context) {
        super(context);
    }

    // Plus other constructors if needed

    // Call to super method and do callback
    // Override another method if needed
    @Override
    public void setImageBitmap(Bitmap bitmap) {
        super(bitmap);
        if (onImageChangedListener != null) {
            onImageChangedListener.onImageChanged(bitmap);
        }
    }

    public setOnImageChangedListener(OnImageChangedListener listener) {
        this.onImageChangedListener = listener;
    }

    public interface OnImageChangedListener() {
        public void onImageChanged(Bitmap bitmap);
    }
}

设置监听器:

MyImageView imageView1 = ...

imageView1.setOnImageChangedListener(new OnImageChangedListener() {
    @Override
    public void onImageChanged(Bitmap bitmap) {
        imageView2.setImageBitmap(bitmap);
    }
});
download(url, imageView1);