title: Images in gridview get replaced on scrolling
body: <p>I have coded to display few images in gridview. The images are getting displayed from urls.
  The problem i am facing is that the images get replaced when i scroll.. and the order of images keeps on changing once started.. this leads to delay in display of full image if i click on any image in grid..
  Please help !</p>
  
  <p><strong>code :</strong></p>
  
  
  
  <pre><code>public class ImageAdapter extends BaseAdapter {
  
      private Context mContext;
      private TextView txtUrl;
      private String response;
      public ImageView imageView;
      public static String[] mThumbIds;
      public ImageAdapter(Context c,String resp) {
          mContext = c;
          response = resp.trim();
          mThumbIds = resp.split(",");
      }
  
      public int getCount() {
          return mThumbIds.length;
      }
  
      public Object getItem(int position) {
          return null;
      }
  
      public long getItemId(int position) {
          return 0;
      }
  
      // create a new ImageView for each item referenced by the Adapter
      public View getView(int position, View convertView, ViewGroup parent) {
  
          if (convertView == null) {  // if it's not recycled, initialize some attributes
              imageView = new ImageView(mContext);
              imageView.setLayoutParams(new GridView.LayoutParams(95, 95));
              imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
              imageView.setPadding(6, 6, 6, 6);
          } else {
              imageView = (ImageView) convertView;
          }
  
  
          try {
               new LoadImageGrid(imageView).execute(mThumbIds[position]);
  
          } catch(Exception e) {
              txtUrl.setText("Error: Exception");
          }
  
          return imageView;
  
      }
  
  
  
  class LoadImageGrid extends AsyncTask&lt;String, Void, Drawable&gt;
  {
  
      ImageView imageView;
      public LoadImageGrid(ImageView im){
          imageView = im;
      }
      @Override
      protected Drawable doInBackground(String... args) {
          String url = args[0];
          Drawable d = null;
          try {
              d = Drawable.createFromStream((InputStream) new URL(url).getContent(), "src");
          } catch (MalformedURLException e) {
              // TODO Auto-generated catch block
              e.printStackTrace();
          } catch (IOException e) {
              // TODO Auto-generated catch block
              e.printStackTrace();
          }
          return d;
  
      }
  
  
      @Override
      protected void onPostExecute(Drawable d) {
          imageView.setImageDrawable(d);
      }
  </code></pre>