Web图像到Android上的ListView

时间:2016-10-17 10:27:54

标签: java android listview

我是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);
}

2 个答案:

答案 0 :(得分:1)

Universal Image Loader比获取每个图像的位图更好。 请按照步骤进行操作。

步骤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(真).cacheOnDisk(真)                 .showImageOnLoading(R.drawable.umg_player_img)                 .bitmapConfig(Bitmap.Config.ARGB_8888)                 .build();

步骤4-现在最后在图像视图上设置图像                 imageLoader.displayImage(imageUrl,mImageView,                                              imageDisplayOptions);

答案 1 :(得分:0)

使用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);