Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在ImageView中放置来自Internet的图片?_Java_Android_Imageview - Fatal编程技术网

Java 如何在ImageView中放置来自Internet的图片?

Java 如何在ImageView中放置来自Internet的图片?,java,android,imageview,Java,Android,Imageview,可能重复: 如何在ImageView中放置来自Internet的图片 ImageView image = (ImageView) findViewById(R.id.main_layout_image_cover); 形象。(?) 这里使用这个: URL imageURL = new URL("http://...."); Bitmap image = BitmapFactory.decodeStream(imageUrl.openConnection().getInputStream())

可能重复:

如何在ImageView中放置来自Internet的图片

ImageView image = (ImageView) findViewById(R.id.main_layout_image_cover);
形象。(?)

这里使用这个:

URL imageURL = new URL("http://....");
Bitmap image = BitmapFactory.decodeStream(imageUrl.openConnection().getInputStream());
ImageView imageView = (ImageView) findViewById(R.id.main_layout_image_cover);
imageView.setImageBitmap(image);

当然,这将在下载时阻止当前线程,因此您应该使用异步任务

假设您有图片url,下面是一个代码示例,可以下载图片并将其分配给
ImageView

Drawable drawable = LoadImageFromWebOperations(enclosure.getUrl());
if (drawable!=null)
img.setImageDrawable(drawable);
img.setScaleType(ScaleType.CENTER_CROP); // Used to crop the picture in case it is too big


public Drawable LoadImageFromWebOperations(String url) {
    try{
        InputStream is = (InputStream) new URL(url).getContent();
        Drawable d = Drawable.createFromStream(is, "src name");
        return d;
    }catch (Exception e) {
        return null;
    }
我建议您在ASyncTask中插入这段代码,因为它将下载图片,并且这样的操作不打算在主线程上完成。如果不添加ASyncTask,UI将冻结