1

Я загружаю изображения из веб-url с помощью asynctask.Использование asyncTask для загрузки изображений в пользовательский адаптер изображения

И в то же время я пытаюсь загрузить изображения в галерею с помощью пользовательского адаптера. Но Галерея отображается без изображений.

активность,

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.property_image_adapter); 
    Intent intent = getIntent(); 
    intent.getStringExtra("PropertyID"); 
    PropertyImagesList ImageList = new PropertyImagesList(); 
    img = ImageList 
      .fetchPropertyImages(intent.getStringExtra("PropertyID")); 
    //imgfromWebUrl=(ImageView)findViewById(R.id.imgfromWebUrl); 
    propertyImageGallery = (Gallery) findViewById(R.id.gallery1); 
    new LoadViewTask().execute(); 
} 

private class LoadViewTask extends AsyncTask<Void, Integer, Bitmap> { 
    // Before running code in separate thread 
    @Override 
    protected Bitmap doInBackground(Void... params) { 
     View view; 
     Bitmap x = null; 
     for (int i = 0; i <= img.size() - 1; i++) { 
      try { 
       HttpURLConnection connection = (HttpURLConnection) new URL(
         "url here" 
           + img.get(i).Source.trim()) 
         .openConnection(); 
       connection.connect(); 
       connection.setReadTimeout(120000); 
       InputStream input = connection.getInputStream(); 
       x = BitmapFactory.decodeStream(input); 


      } catch (IOException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 
     } 
     return x; 
    } 

    @Override 
    protected void onPostExecute(Bitmap result) { 
     super.onPostExecute(result); 
     Log.d("","On Post execute: " + result); 
     //imgfromWebUrl.setImageBitmap(result); 
     propertyImageGallery.setAdapter(new PropertyImageAdapter(Context, result)); 
    } 
} 
} 

мой пользовательский адаптер класса,

public class PropertyImageAdapter extends BaseAdapter { 
private Context ctx; 
Bitmap pics; 

public PropertyImageAdapter(Context c,Bitmap pics) { 
    Log.d("","custom Adapter"); 
    ctx = c;   
    this.pics=pics; 
} 

@Override 
public int getCount() { 

    return 0; 
} 

@Override 
public Object getItem(int arg0) { 

    return arg0; 
} 

@Override 
public long getItemId(int arg0) { 

    return arg0; 
} 

@Override 
public View getView(int arg0, View paramView, ViewGroup arg2) { 

    View localView; 
    Log.d("","getView: "); 
    if (paramView == null) { 
     localView = View.inflate(ctx, 
       R.layout.property_image_adapter, null); 
    } else { 
     localView = paramView; 
    }  
    ImageView imgfromWebUrl=(ImageView)localView.findViewById(R.id.imgfromWebUrl);  
    Log.d("", "pics[0]: "+pics); 
    imgfromWebUrl.setImageBitmap(pics); 
    imgfromWebUrl.setScaleType(ImageView.ScaleType.FIT_XY); 
    imgfromWebUrl.setLayoutParams(new Gallery.LayoutParams(150, 150)); 
    return imgfromWebUrl; 
} 

} 

Layout,

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:gravity="center" 
android:orientation="vertical" > 

<Gallery 
    android:id="@+id/gallery1" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:spacing="10dip" > 
</Gallery> 

<ImageView 
    android:id="@+id/imgfromWebUrl" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" > 
</ImageView> 

</LinearLayout> 

Я не там, где я реализовал неправильно, но галерея отображается пустым.

Пожалуйста, исправьте мой код! Любая помощь приветствуется!

+0

Вы должны переопределить галерею, чтобы отображать новые изображения. Сообщите мне, помогло ли вам это. http://stackoverflow.com/questions/16008419/how-to-force-android-to-re-index-all-the-photos-on-the-phone – Sqeezer

+0

Пока вы на нем, попробуйте [this] (http : //stackoverflow.com/questions/11778140/using-asynctask-to-load-images-into-a-custom-adapter? rq = 1) и [this] (http://stackoverflow.com/questions/11645026/ a-custom-adapter-that-shows-different-images-from-the-web-in-a-list? rq = 1), а также – verybadalloc

ответ

0

GetCount() устанавливается на НОЛЬ в адаптере, это означает, что ваш адаптер будет показывать ноль «вещи»

я не прочитать код хорошо, но это точка, которая может сделать различие

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