PS:这个适合初学者,只是对adapter进行了简单的提取
public abstract class BaseAdapter<T> extends BaseAdapter {
public List<T> lists;
public Context context;
public BaseAdapter(List<T> lists, Context context) {
this.lists = lists;
this.context = context;
}
@Override
public int getCount() {
return lists.size();
}
@Override
public T getItem(int position) {
return lists.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
}
这是实现方法
public class Adapter extends Adapter<Person> {
public Adapter(List<Person> lists, Context context) {
super(lists, context);
}
@Override
public View getView(int position, View convertView, ViewGroup viewGroup) {
ViewHolder vh=null;
if (convertView==null){
vh=new ViewHolder();
convertView=View.inflate(context, R.layout.item,null);
vh.tvName= (TextView) convertView.findViewById(R.id.tv_name);
convertView.setTag(vh);
}else{
vh= (ViewHolder) convertView.getTag();
}
vh.tvName.setText(lists.get(position).getName());
return convertView;
}
class ViewHolder{
TextView tvName;//姓名
}
}