适配器对象派生自Android.widget.Adapter,它的作用包括:构造列表项控件,并将数据项绑定到列表项控件中。
常见的适配器有:数组适配器 ArrayAdapter,数据库适配器 CursorAdapter。
使用适配器对象的实例如下:
//定义数据
String [] data = new String[] {"早上好","中午好","晚上好"};
//定义适配器,并设置数据源
ArrayAdapter<String>adapter = new ArrayAdapter<String>(this,data);
//将适配器与列表视图绑定
final ListView list = getListView();
list.setAdapter(adapter);
以上实例只能满足简单的系统需求,大多情况下,我们需要自行定义适合列表展示的适配器对象》定制适配器通过派生Adapter及其子类来实现,如:
public class CustomAdapter extends BaseAdapter{
//数据项的数据结构
public int icon;
public String title;
} ;
private Context context;
private List<ListItem> items;
public CustomAdapter (Context context ,List<ListItem> items)
{
this.context = context;
this.items = items;
}
public int getCount(){
return items.size();
}
public Object getItems(int position){
return items.get(position);
}
public long getItemId(int position){
return position;
}
public Veie getView(int position,convertView,ViewGroup parent){
//构造列表项控件
View view = createListItemView();
//绑定数据
ListItem item = items.get(position);
((ImageView)view.findViewById(R.id.icon)).setimageResource(Item.icon);
((TextVeiw)view.findViewByid(R.id.title)).setText(item.title);
return.view;
}
private View createListItemView(){
LayoutInflater inflater = LayoutInflater.from(context);
return inflater.inflate(R.layout.list_item,this,null);
}