适配器对象派生自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);

}

  

最新文章

  1. 一点惊喜 --- alert()函数
  2. Python的文本数据
  3. Maven学习总结(八)——使用Maven构建多模块项目
  4. 递归神经网络之理解长短期记忆网络(LSTM NetWorks)(转载)
  5. DataRow[] 转为数组
  6. Tesseract-OCR 字符识别---样本训练
  7. redis的文件事件处理器
  8. 【http】http/1.1 八种请求方式
  9. ChatterBot之快速入门01
  10. php 高并发下 秒杀处理思路
  11. 【一天一道LeetCode】#9. Palindrome Number
  12. python数据存储技巧
  13. [Reinforcement Learning] 强化学习介绍
  14. [二十]JavaIO之StringReader 与 StringWriter
  15. SQL Server中几种遍历方式比较
  16. PyQt5——基本控件
  17. OpenOCD-JTAG调试
  18. chm开源文档制作
  19. nginx 匹配规则小总结
  20. Volley的Get、Post方式(JsonObjectRequest、StringRequest)以及Volley获取图片的3种方式

热门文章

  1. 从UI Automation看Windows平台自动化测试原理
  2. uva 10496 Collecting Beepers
  3. 【Java】servlet和servlet 容器
  4. 【HDOJ】1501 Zipper
  5. poj1849
  6. java String 去除空格
  7. 【转】Unity 相关经典博客资源总结(持续更新)
  8. HDOJ 1716 排列2(next_permutation函数)
  9. C++之函数指针
  10. Live555 Streaming from a live source