繁体   English   中英

在ImageView中动态更改图像

[英]Dynamically changing Image in ImageView

我有一个带有片段的viewPager活动。 它启动asyncTask以下载有关六个缩略图的信息,并在postExecute上创建我的图像类的六个对象,这些对象具有信息,并且位图对象为null。 创建对象后,它将下载图像。 构造函数:

    public MyImage(String name, String owner, String time, String date,
        String total_rate, String votes, String description) {
    //this.thumbnail = BitmapFactory.
    Log.d(TAG, "Created image object");
    this.name = name;
    this.owner = owner;
    this.time = time;
    this.date = date;
    this.total_rate = Double.valueOf(total_rate);
    this.votes = votes;
    this.description = description;

    downloadThumbnail();
}

该片段中有一个带有六个缩略图的gridView。 我可以将默认图像设置为它或progressDialog,但是下载图像后如何更改它? 设置听众? PS我对适配器不太了解,可能存在问题。

您可以添加回调,如下所示:首先实现一个类:AsyncImageLoader公共类AsyncImageLoader {

 public Drawable loadDrawable(final String imageUrl, final ImageCallback imageCallback) {
         final Handler handler = new Handler() {
             public void handleMessage(Message message) {
                 imageCallback.imageLoaded((Drawable) message.obj, imageUrl);
             }
         };
         new Thread() {
             @Override
             public void run() {
                 //TODO SOMETHING
                 ......
             }
         }.start();
         return null;
     }

public interface ImageCallback {
         public void imageLoaded(Drawable imageDrawable, String imageUrl);

     }

然后,您可以这样操作:AsyncImageLoader asyncImageLoader = new AsyncImageLoader(); ...... ......可绘制的cachedImage = asyncImageLoader.loadDrawable(imageUrl,new ImageCallback(){public void imageLoaded(Drawable imageDrawable,String imageUrl){

            }
        });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM