这是我的活动。
private ImageLoader testing;
testing = new ImageLoader(this);
imageview = (ImageView)findViewById(R.id.image_alllatestnewstitle);
...
...
...
这是在列表视图中,因此它将显示多个图像。
private void filldata() {
lv = (ListView) findViewById(android.R.id.list);
String[] from = new String[] { "particularlatestnewstitle",
"newscategorytitle", "newsdate" };
int[] to = new int[] { R.id.text_particularlatestnewstitle,
R.id.text_newscategorytitle, R.id.text_newsdate };
fillMaps = new ArrayList<HashMap<String, String>>();
for (int i = 0; i < webservice.news.size(); i++) {
HashMap<String, String> map = new HashMap<String, String>();
map.put("particularlatestnewstitle", webservice.news.get(i)
.getNtitle());
map.put("newscategorytitle", webservice.news.get(i).getNewCatName());
map.put("newsdate", webservice.news.get(i).getNArticalD());
fillMaps.add(map);
imageview = (ImageView)findViewById(R.id.image_alllatestnewstitle);
imageview.setTag(imagepath[i]);
testing.DisplayImage(imagepath[i], imageview);
}
SimpleAdapter adapter = new SimpleAdapter(this, fillMaps,
R.layout.main_alllatestnewslist, from, to);
lv.setAdapter(adapter);
这是我的ImageLoader类
public void DisplayImage(String url, ImageView imageView)
{
imageViews.put(imageView, url);
Bitmap bitmap=memoryCache.get(url);
if(bitmap!=null){
System.out.println(url.toString());
System.out.println(bitmap.toString());
imageView.setImageBitmap(bitmap);
}else
{
queuePhoto(url, imageView);
}
}
这是xml布局
<ImageView
android:id="@+id/image_alllatestnewstitle"
android:layout_width="134px"
android:layout_height="80px"
android:layout_marginBottom="5px"
android:layout_marginLeft="10px"
android:layout_marginRight="10px"
android:layout_marginTop="5px"
android:scaleType="centerCrop" />
我打印结果
url and bitmap
两者都不为null并显示正确的url链接。
但是当setimagebitmap,它没有错误,但imageview也没有显示图像。
有什么问题?
p / s:如果需要,请求更多代码。
答案 0 :(得分:0)
我确信您使用的是Fedor的Lazy加载逻辑。
现在,基于您提供的代码,我可以说一件事,即您在调用DisplayImage()方法之前忘记将TAG设置为ImageView。
testing.setTag(imagepath[i]);
答案 1 :(得分:0)
为donwload image
试用此代码并在imageview
中设置图片。
try {
URL url = new URL(urlStr);
URLConnection ucon = url.openConnection();
InputStream is = ucon.getInputStream();
Bitmap bitmap = BitmapFactory.decodeStream(is);
if(bitmap!=null){
System.out.println(url.toString());
System.out.println(bitmap.toString());
imageView.setImageBitmap(bitmap);
}
} catch (MalformedURLException e1) {
e1.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}