我对这段代码有疑问。我修改了 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();
}
有任何想法吗?谢谢