list队列为要添加的数据,sourcelist为目标队列,ids用于记录已录入的数据id(id通过Unique接口获取)
//刷新数据列表,并排重(泛化类型必须实现Unique接口)
public static <T> void addUniquelist(List<T> list, List<T> sourcelist, List<String> ids, ListAdapter adapter) {
if (list == null) {
return;
}
if (list == sourcelist) {
return;
}
for (T item : list) {
String id = ((Unique) item).getId();
if (!ids.contains(id)) {
ids.add(id);
sourcelist.add(item);
}
}
if (adapter != null) {
if (adapter instanceof BaseAdapter) {
((BaseAdapter) adapter).notifyDataSetChanged();
}
}
}
public interface Unique {
String getId();
}