アクティビティでは、同じ画像を2つの画像ビューに設定する必要があります。画像はインターネットからダウンロードされ、画像のURLと1つの画像ビューをパラメータとして受け取る方法によって非同期的に画像ビュー1に設定されます。
imageview2のソースをimageview1と同期できますか(つまり、画像が画像1に設定されるとすぐに、画像2にも設定されます)?
アクティビティでは、同じ画像を2つの画像ビューに設定する必要があります。画像はインターネットからダウンロードされ、画像のURLと1つの画像ビューをパラメータとして受け取る方法によって非同期的に画像ビュー1に設定されます。
imageview2のソースをimageview1と同期できますか(つまり、画像が画像1に設定されるとすぐに、画像2にも設定されます)?
ダウンロード方法を変更して、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);