You have at least 3 problems.

First is for loop in getView. You get "position" attribute in getView 
method for which you should return ImageView (just one!). Now you always 
load all images and then return last.

Second problem is using Drawable,createFromStream method. This is a buggy 
method, check 
here: 
http://stackoverflow.com/questions/4601352/createfromstream-in-android-returning-null-for-certain-url

Trird problem is that you are doing network operations on UI thread, I 
would rather use one of these two libraries:

   - https://github.com/nostra13/Android-Universal-Image-Loader
   - https://github.com/DHuckaby/Prime
   

On Tuesday, August 7, 2012 3:28:52 PM UTC+2, Mohamed Naguib wrote:
>
> I am trying to create a gridview and load some images from URLs to this 
> gridview but there is an issue in loading images but i can't find it, can 
> anyone help ?
>
> package com.images;
> import java.io.InputStream;
> import java.net.URL;
>
> import android.content.Context;
> import android.graphics.drawable.Drawable;
> import android.view.View;
> import android.view.ViewGroup;
> import android.widget.BaseAdapter;
> import android.widget.GridView;
> import android.widget.ImageView;
>
> import com.coboltforge.slidemenuexample.MainActivity;
> import com.coboltforge.slidemenuexample.R;
>
> public class ImageAdapter extends BaseAdapter {
>     private Context mContext;
>
>     // Keep all Images in array
>     public Integer[] mThumbIds = new Integer [27];
>
>     // Constructor
>     public ImageAdapter(Context c) {
>         mContext = c;
>     }
>
>     @Override
>     public int getCount() {
>         return mThumbIds.length;
>     }
>
>     @Override
>     public Object getItem(int position) {
>         return mThumbIds[position];
>     }
>
>     @Override
>     public long getItemId(int position) {
>         return 0;
>     }
>
>     @Override
>     public View getView(int position, View convertView, ViewGroup parent) {
>         /*
>          * ImageView imageView = new ImageView(mContext);
>          * imageView.setImageResource(mThumbIds[position]);
>          * imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
>          * imageView.setLayoutParams(new GridView.LayoutParams(130, 130));
>          * return imageView;
>          */
>         ImageView imageView;
>         if (convertView == null) {
>             imageView = new ImageView(mContext);
>             imageView.setLayoutParams(new GridView.LayoutParams(150, 150));
>             imageView.setAdjustViewBounds(false);
>             imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
>             imageView.setPadding(8, 8, 8, 8);
>         } else {
>             imageView = (ImageView) convertView;
>         }
>         for (int i = 0; i < MainActivity.presentersImages.size(); i++) {
>             imageView
>                     
> .setImageDrawable(LoadImageFromWebOperations(MainActivity.presentersImages
>                             .get(i) + position));
>
>         }
>         return imageView;
>     }
>
>     protected Drawable LoadImageFromWebOperations(String url) {
>         try {
>             InputStream is = (InputStream) new URL(url).getContent();
>             Drawable d = Drawable.createFromStream(is, "src name");
>             return d;
>         } catch (Exception e) {
>             System.exit(0);
>             return null;
>         }
>     }
> }
> MainActivity.presentersImages is an ArrayList of strings contains the url 
> for the images
>
>

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to