BaseAdapter
用的最多,也很方便使用。复写四个方法
@Override
public int getCount() {
return alldata.size();
}
item的个数
@Override
public Object getItem(int arg0) {
return alldata.get(arg0);
}
item实例
@Override
public long getItemId(int arg0) {
return 0;
}
item位置
/**以下是对ViewHoder做了抽取操作
ViewHoder hoder;
@Override
public View getView(int position, View view, ViewGroup viewgroup) {
if(view==null){
view=view.inflate(context, R.layout.list_item_layout, null);
}
hoder=getHoder(view);
ClientData data=alldata.get(position);
return view;
}
public ViewHoder getHoder(View view){
ViewHoder viewHoder=(ViewHoder) view.getTag();
if(viewHoder==null){
viewHoder=new ViewHoder(view);
view.setTag(viewHoder);
}
return viewHoder;
}
实例化
class ViewHoder{
public ViewHoder(View view) {
}
}
加载布局
ArrayAdapter
适用于静态数组的适配器
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,R.layout.list_item,list);
list为集合参数(ArrayList)
没有复用
SimpleAdapter
对集合更为适用,一个萝卜一个坑,没有复用