У меня проблема с этим кодом. Я изменяю содержимое 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();
}
Любые идеи? Спасибо
Не работает. Сначала я попробовал это вызов, чтобы отсортировать массив, после вызова invateViews ListView и alfter notifyDataSetChanged из массива. – theleftone