2012-05-07 2 views
0

Это моя деятельность.изображение не отображается, даже URL-адрес установлен в 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 

И не утратившим правильного отображения URL ссылка.

Но когда setimagebitmap, он не получил ошибки, но изображение также не отображало изображение.

В чем проблема?

p/s: Запрос на дополнительный код, если вам нужно.

ответ

0

Уверен, что вы используете Lazy логику загрузки Fedor.

И теперь, основываясь на коде, который вы предоставили, я могу сказать одно, т. Е. Вы забыли установить TAG в свой ImageView перед вызовом метода DisplayImage().

testing.setTag(imagepath[i]); 
+0

ImageLoader не имеет этой функции –

+0

@AlanLai FYI, его встроенная функция. –

+0

как это назвать? не следует испытывать –

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(); 
     } 
+0

Я изменился с этого на текущий этот –

+0

, потому что этот не может загрузить несколько изображений в listview, это вызовет outofmemory –

+0

Использование ленивых концепций загрузки с помощью listview может решить вашу проблему. –

Смежные вопросы