public abstract class CommonAdapter<T> extends BaseAdapter {
private int resourceId;
private int [] viewIds ;
private List<T> list ;
private LayoutInflater layoutInflater ;
public CommonAdapter(Context context,int resourceId, int...viewId) {
super();
this.resourceId = resourceId;
this.viewIds = viewId;
list = new ArrayList<T>() ;
layoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE) ;
}
public CommonAdapter<T> addItem (T t){
list.add(t) ;
return this ;
}
public CommonAdapter<T> addItem (T...t){
Collections.addAll(list, t);
return this ;
}
public CommonAdapter<T> clearItem(){
list = new ArrayList<T>() ;
return this ;
}
@Override
public int getCount() {
return list.size();
}
@Override
public T getItem(int position) {
return list.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View[] views ;
if(convertView == null ){
convertView = layoutInflater.inflate(resourceId, null) ;
int len = viewIds.length ;
views = new View[len] ;
for (int i = 0; i < len; i++) {
views[i] = convertView.findViewById(viewIds[i]) ;
}
convertView.setTag(views);
}else {
views = (View[]) convertView.getTag();
}
bindViews(position,views);
return convertView;
}
public abstract void bindViews(int position ,View...views) ;
}
万能Adapter
最新推荐文章于 2024-04-22 12:18:20 发布