无法使用自定义视图解析方法setImageBitmap

时间:2017-03-12 08:42:27

标签: android

我想从网址下载图片并将其显示在自定义视图中。我无法解析setImageBitmap方法。如何将图像从网址显示到自定义imageview?我的自定义视图的名称是MemeEditorView。

import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.AsyncTask;
import android.util.Log;

import com.dragedy.dream.view.MemeEditorView;

import java.io.InputStream;

/**
 * Created by Jai Mahlawat on 3/12/2017.
 */

class ImageDownloader extends AsyncTask<String, Void, Bitmap> {
    MemeEditorView memeEditorView;

    public ImageDownloader(MemeEditorView memeEditorView) {
        this.memeEditorView = memeEditorView;
    }

    protected Bitmap doInBackground(String... urls) {
        String url = urls[0];
        Bitmap mIcon = null;
        try {
            InputStream in = new java.net.URL(url).openStream();
            mIcon = BitmapFactory.decodeStream(in);
        } catch (Exception e) {
            Log.e("Error", e.getMessage());
        }
        return mIcon;
    }

    protected void onPostExecute(Bitmap result) {
        memeEditorView.setImageBitmap(result);
    }
}

2 个答案:

答案 0 :(得分:0)

PicassoGlide等图书馆可让您轻松完成自己想要的工作。

例如,使用毕加索:

Picasso.with(context).load("//**Your URL Here**//").into(MemeEditorView);

使用Picasso和Glide也有助于缓存,裁剪,调整大小和其他图像功能。

答案 1 :(得分:0)

您需要确保MemeEditorView扩展ImageView,否则您可能需要使用setBackground方法。