2016-07-15 9 views
0

Ich habe eine benutzerdefinierte Gridview. In meinem Adapter wurde das asynchrone Herunterladen von Bildern mit AQuery durchgeführt. Bilder werden richtig heruntergeladen, aber in einigen Fällen wird ein Fehler auftreten, so dass der time imageView Hintergrund komplett weiß wird. Ich möchte dieses Fehlerbild einstellen.Android, wie Fehlerbild mit Aquery-Bibliothek

Hier ist der Code meines Adapter in gridview():

try{ 
      String[] tmp_arr_thumb_img = prodItems.get(holder.position).getprod_image().split(global.split_seprator); 
      //String imageID = tmp_arr_thumb_img[0]; 
      String thumbImg = tmp_arr_thumb_img[1]; 

      if (aQuery.shouldDelay(holder.position, convertView, parent, global.GLOBAL_UPLOADED_PHOTOS_URL + thumbImg)){ 
       aQuery.id(holder.imageView).image(R.drawable.no_image); 
      }else{ 
       aQuery.id(holder.imageView) 
         .image(global.GLOBAL_UPLOADED_PHOTOS_URL + thumbImg,true,true,200,0, new BitmapAjaxCallback(){ 
          @Override 
          protected void callback(String url, ImageView iv, Bitmap bm, AjaxStatus status) { 

           iv.setImageBitmap(bm); 
          } 
         }.animation(AQuery.FADE_IN)); 
      } 
     }catch (OutOfMemoryError err){ 
      err.printStackTrace(); 
     } 

Antwort

0

Bitte aktualisieren Sie Ihren Code mit dieser

aQuery.id(holder.imageView) 
        .image(global.GLOBAL_UPLOADED_PHOTOS_URL + thumbImg,true,true,200,R.drawable.placeholder, new BitmapAjaxCallback(){ 
         @Override 
         protected void callback(String url, ImageView iv, Bitmap bm, AjaxStatus status) { 

          iv.setImageBitmap(bm); 
         } 
        }.animation(AQuery.FADE_IN)); 
+0

diese Art von Bild-Konstruktor nicht verfügbar konnte nicht geladen werden, so dass es mir gibt Fehler auf dieser Linie. –

+0

und wenn ich Bitmap als zweitletzten Parameter hinzufügen, dann ruft sie keine Rückrufmethode auf. –

0

einen Platzhalter imaage verwenden wil Wenn wir nicht in der Lage sind zu laden das Bild, ein Standardbild verwenden (R.drawable.default_image)

String imageUrl = "http://www.vikispot.com/z/images/vikispot/android-w.png"; 
aq.id(R.id.image1).image(imageUrl, true, true, 0, R.drawable.default_image); 

Make Bildansicht "unsichtbar", wenn Bild fehlgeschlagen

imageUrl = "http://a.b.com/invalid.jpg"; 
aq.id(R.id.image1).image(imageUrl, true, true, 0, AQuery.INVISIBLE); 

Make Bildansicht „weg“ zu laden, wenn Bild

aq.id(R.id.image1).image(imageUrl, true, true, 0, AQuery.GONE); 
+0

, aber wie Bildladefehler zu erkennen? –

Verwandte Themen