title: The three first Element in custom ListView are repeated and change position when scrolling
body: <p>I have a custom ListView and when I display it I get the 3 first element and they are repeated when I scroll. All the others elements are never display.</p>
  
  <p>I have try with <code>setTag</code> and <code>getTag</code> but it doesnt work. The only way I found is to rebuild the view (disable the <code>if (row = null)</code>) each time I scroll on a element but I don't think it is a good thing to do.</p>
  
  <p>This is my getView methode (with <code>setTag</code> and <code>getTag</code>) :</p>
  
  <pre><code>@Override
  public View getView(int position, View convertView, ViewGroup parent) {
  
  
          View row = convertView;
          Meal meal =  getItem(position);
  
          if (row == null) {
              holder = new ViewHolder();
              row = LayoutInflater.from(getContext()).inflate(R.layout.custom_list, parent, false);
              holder.txtTitle = (TextView) row.findViewById(R.id.nameMeal);
              holder.img = (ImageView) row.findViewById(R.id.imageMeals);
              holder.price = (TextView) row.findViewById(R.id.textView14);
              holder.imgQuantity = (RelativeLayout) row.findViewById(R.id.hide);
              holder.soldOut = (ImageView) row.findViewById(R.id.sold_out);
              holder.descMenu = (TextView) row.findViewById(R.id.textView);
              holder.plus = (Button) row.findViewById(R.id.plus);
              holder.minus = (Button) row.findViewById(R.id.minus);
  
  
              if (User.getInstance().imgBitMap.get(meal.nameFr) == null)
                  new LoadImageFromURL(holder.img, meal).execute(meal.imageRealUrl);
              else
                  holder.img.setImageBitmap(User.getInstance().imgBitMap.get(meal.nameFr));
  
              holder.txtTitle.setText(meal.nameFr);
              holder.price.setText(meal.price + "0 €");
              setButton(row, meal);
              setImage(row, meal);
              row.setTag(holder);
          } else {
              holder = (ViewHolder) row.getTag();
          }
  
          holder.img.setTag(position);
          holder.plus.setTag(position);
          holder.minus.setTag(position);
          holder.txtTitle.setTag(position);
          holder.price.setTag(position);
  
      return row;
  }
  </code></pre>