Синхронизировать два изображения просмотра SRC - PullRequest
2 голосов
/ 15 июня 2011

Я должен установить одно и то же изображение для двух изображений в своей деятельности.Изображение загружается из Интернета и устанавливается на изображение 1 асинхронно с помощью метода, который принимает в качестве параметра URL-адрес изображения и одно изображение.

Можно ли синхронизировать источник изображения 2 с изображением 1 (то есть каккак только изображение установлено на изображении 1, оно также устанавливает его на изображение 2)?

1 Ответ

2 голосов
/ 15 июня 2011

Вы можете изменить метод загрузки, чтобы он принимал список или массив ImageView или varargs : download(String url, ImageView... imageViews)

Upd: синхронизация 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...