title: Position of items in listview is changing when I scroll the listview
body: <p>My application has an listview and listview's rows consist of imageView and Textview. The application downloads images from web to set imageview in the row layout. I had a problem about image redownloading when I scoll up and down the listview. For this reason I used <strong>ViewHolder</strong> pattern to save list items. The problem had been fixed but this time i have a new problem.</p>
  
  <p>There are 15 rows in Listview. Therefore items at the bottom of list don't appear. When I scrool down the list to see items, items at top of list are coming to end of lisview. Also when I scrool up the list, items at end of list are coming to top of list.</p>
  
  <p>So it doesn't display the values or rows that needed to display.</p>
  
  <p>my getView() method's last state is..</p>
  
  <pre><code>@Override
      public View getView(int position, View convertView, ViewGroup parent) {
  
  
          ViewHolder viewHolder;
  
              if (convertView == null) {
  
                  convertView = mInflater.inflate(R.layout.row_layout, null);
  
                  TextView programName = (TextView)convertView.findViewById(R.id.programName);
                  TextView programTime = (TextView)convertView.findViewById(R.id.programTime);
                  TextView programState = (TextView)convertView.findViewById(R.id.programState);
                  ImageView programImage = (ImageView)convertView.findViewById(R.id.programImage);
  
  
                  programName.setText(values.programNames.get(position));
                  programTime.setText(values.programTimes.get(position));
                  new imageDownload(programImage).execute(values.programImageUrls.get(position)); 
  
                  viewHolder = new ViewHolder();
                  viewHolder.p_Name = programName;
                  viewHolder.p_Time = programTime;
                  viewHolder.p_State = programState;
                  viewHolder.p_Image = programImage;
  
                  convertView.setTag(viewHolder);
  
              }else{
  
                  viewHolder = (ViewHolder) convertView.getTag();
              }
  
              return convertView;
          }
  </code></pre>
  
  <p>my view Holder...</p>
  
  <pre><code>public static class ViewHolder {
       TextView p_Name;
       TextView p_Time;
       TextView p_State;
       ImageView p_Image;
  }
  </code></pre>
  
  <p>Thank you a lot</p>