J'ai un problème avec ce code. Je modifie le contenu de ArrayAdapter et ordonné en tant qu'argument à l'objet contenant le tableau. Le problème est que modifier la vue (est une vue de liste) avec des choses différentes, des icônes, changer l'arrière-plan, etc. Le fait est qu'en faisant le tri semble mélanger les propriétés de certaines vues. Par exemple, l'arrière-plan qui s'est étendu à un autre en raison du déplacement et des choses comme:Problème avec View trier ArrayAdapter plusieurs fois
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();
}
Des idées? Merci
Ne fonctionne pas. J'ai essayé cet appel d'abord à trier arrayadapter, après appel invateViews de ListView et après notifyDataSetChanged de arrayadapter. – theleftone