2010-11-27 2 views
1

У меня проблема с этим кодом. Я изменяю содержимое ArrayAdapter и заказываю в качестве аргумента объект, содержащий массив. Проблема в том, что изменение вида (является списком) с разными вещами, значками, изменением фона и т. Д. Дело в том, что, делая вид, похоже, смешивает свойства некоторых представлений. Например, фон, который распространился на другой из-за перемещения и такие вещи, как:Проблема с View sorting ArrayAdapter несколько раз

public class IconLVAdapter extends ArrayAdapter<Datos> { 

     private List<Datos> objetos; 
     private boolean online; 

     public IconLVAdapterBuses(Context context, int textViewResourceId, List<Datos> objetos, boolean online) { 
       super(context, textViewResourceId, objetos); 
       this.objetos = objetos; 
       this.online = online; 
     } 
     @Override 
     public View getView(int position, View convertView, ViewGroup parent) { 
       View v = convertView; 
       if (v == null) { 
        LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
        v = vi.inflate(R.layout.rowlist, null); 
       } 
       Datos o = objetos.get(position); 
       if (o != null) { 

         TextView tvNum = (TextView) v.findViewById(R.id.num); 

         if (o.getpOrigen()==null && tvNum!= null) 
          tvNum.setText(o.getnum()); 
         else{ 
             ************** omitido ************** 
         } 

       } 
       return v; 
     } 



     public void refreshArray(){ 
      this.sort(new Comparator<Datos>() { 
       public int compare(Datos object1, Datos object2) { 
        return object1.compareTo(object2); 
       }; 
      }); 
      this.notifyDataSetChanged(); 
     } 

Любые идеи? Спасибо

ответ