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