在 Android 上将 Web 图像转换为 ListView

Posted

技术标签:

【中文标题】在 Android 上将 Web 图像转换为 ListView【英文标题】:Web Images into ListView on Android 【发布时间】:2017-02-26 07:04:40 【问题描述】:

我是 Java 初学者,我想在 JSON 的 ListView 上显示 Web 图像。 现在我已经用文本字符串和本地图像(mipmap.ic_launcher)创建了 ListView。也可以从 web 加载 img,但只能从 onCreate 使用

mImageView = (ImageView) findViewById(R.id.image);
new LoadImageTask(this).execute(KEY_URL);

我的其余代码:

public void onLoaded(List<androidVersion> androidList) 
    for (AndroidVersion wykopList : androidList) 

        HashMap<String, String> map = new HashMap<>();
        mImageView = (ImageView) findViewById(R.id.image);
        new LoadImageTask(this).execute(KEY_URL);
        map.put(KEY_VER, wykopList.getVer());
        map.put(KEY_NAME, wykopList.getName());
        map.put(KEY_API, wykopList.getApi());
        map.put("image",String.valueOf(R.mipmap.ic_launcher));


        mAndroidMapList.add(map);
    

    loadListView();




private void loadListView() 
    ListAdapter adapter = new SimpleAdapter(MainActivity.this, mAndroidMapList, R.layout.list_item,
            new String[]  KEY_VER, KEY_NAME, KEY_API,"image" ,
            new int[]  R.id.version,R.id.name, R.id.api,R.id.image);


    mListView.setAdapter(adapter);



@Override
public void onImageLoaded(Bitmap bitmap) 

    mImageView.setImageBitmap(bitmap);

【问题讨论】:

您可以使用通用图像加载器。这很容易,选项也适合你,比如 picasso ,glide。 可以使用Picasso进行图片加载,Picasso.with(context).load("Image_url").into(imageView); 【参考方案1】:

通用图像加载器比为每个图像获取位图要好。 请按照步骤操作。

步骤 1- 从这里下载通用图像加载器 https://github.com/nostra13/Android-Universal-Image-Loader

第 2 步 - 将此 jar 文件放在项目的 libs 文件夹中。并在 build.gradle 文件中添加依赖项

第 3 步 - 实例化 ImageLoader 和 DisplayImageOptions。

ImageLoader imageLoader = ImageLoader.getInstance(); DisplayImageOptions imageDisplayOptions = new DisplayImageOptions.Builder() .cacheInMemory(true).cacheOnDisk(true) .showImageOnLoading(R.drawable.umg_player_img) .bitmapConfig(Bitmap.Config.ARGB_8888) .build();

步骤 4- 现在终于在图像视图上设置您的图像 imageLoader.displayImage(imageUrl, mImageView, imageDisplayOptions);

【讨论】:

我已经完成了这个并使用了activity_main,但是如何在我的arraylist上实现这个?【参考方案2】:

使用 picasso 从服务器检索图像。

这是在您的项目中使用 picasso 的 gradle 依赖项:-

compile 'com.squareup.picasso:picasso:2.5.2'

这是如何使用它的示例代码:-

Picasso.with(context)
    .load(url)
    .placeholder(R.drawable.user_placeholder)
    .error(R.drawable.user_placeholder_error)
    .into(imageView);

【讨论】:

以上是关于在 Android 上将 Web 图像转换为 ListView的主要内容,如果未能解决你的问题,请参考以下文章

在 Android 上将视图转换为位图

如何在 Android 上将 MS Office DOC/XLS/PPT 和 PDF 转换为图像

如何在 iOS 上将文本转换为图像?

ImageMagick 无法在 WSL 上将 PDF 转换为图像

如何在android上将kotlin转换为java? [复制]

如何在 Mac 上将图像转换为文本?