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