¿Cómo implementar un soporte de vista?

Estoy usando un marcador de vista para mostrar desde un arrayadapter dinámico. Funciona pero los datos que se muestran cambian de manera irregular cuando me desplazo por la Lista.Quiero que mi Vista de lista se complete solo una vez, No todo el tiempo cuando me desplazo por la lista. ¿Cualquier sugerencia? Aquí está mi código

public View getView(int position, View convertView, ViewGroup parent) {            

   // A ViewHolder keeps references to children views to avoid unneccessary calls            
   // to findViewById() on each row.            
   ViewHolder holder;            
   // When convertView is not null, we can reuse it directly, there is no need            
   // to reinflate it. We only inflate a new View when the convertView supplied            
   // by ListView is null.            

   if (convertView == null) {                

    convertView = mInflater.inflate(R.layout.sample, null);   
    // Creates a ViewHolder and store references to the two children views                
    // we want to bind data to.               
    holder = new ViewHolder();                
    holder.name = (TextView) convertView.findViewById(R.id.text);               
    holder.icon = (ImageView) convertView.findViewById(R.id.icon);                
    convertView.setTag(holder);            
   } else {                
    // Get the ViewHolder back to get fast access to the TextView                
    // and the ImageView.


    holder = (ViewHolder) convertView.getTag();

   }            


   // Bind the data efficiently with the holder. 
   if(_first==true)
   {
   if(id<myElements.size())
   {
      holder.name.setText(myElements.get(id)); 
   holder.icon.setImageBitmap( mIcon1 );
   id++;
   }
   else
   {
    _first=false;
   }
   }
    //holder.icon.setImageBitmap(mIcon2);
   /*try{
    if(id<myElements.size())
     id++;
     else
     {
      id--;
     } 
   }
   catch(Exception e)
   {
    android.util.Log.i("callRestService",e.getMessage());
   }*/



   return convertView;

  }        
static class ViewHolder {            
 TextView name;            
 ImageView icon;        
}  

cuando se carga la lista se ve así:http://i.stack.imgur.com/NrGhR.png  después de desplazar algunos datoshttp://i.stack.imgur.com/sMbAD.png  se ve así, y de nuevo si me desplazo al principio se vehttp://i.stack.imgur.com/0KjMa.png

PD: mi lista tiene que estar en orden alfabético

Respuestas a la pregunta(2)

Su respuesta a la pregunta