图像无法显示,即使url设置为imageview

时间:2012-05-07 11:00:13

标签: android bitmap imageview

这是我的活动。

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:如果需要,请求更多代码。

2 个答案:

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