BaseAdapter使用的三种形式,逗比式,普通式,文艺式
来源:互联网 发布:网络车险哪家好 编辑:程序博客网 时间:2024/05/24 03:19
把数据弄得适当,适合以在于View上显示
我们常用的适配器一共有三个,当然不包含自定义的适配器,
那就是ArrayAdapter,SimpleAdapter,SimpleCursorAdapter这三个,他们都是继BaseAdapter
。
ArrayAdapter最为简单,只能展示一行字。
SimpleAdapter有最好的扩充性,可以自定义出各种效果。
SimpleCursorAdapter可以认为是SimpleAdapter对数据库的简单结合。
四个方法:
public int getCount() //得到数据的行数
public Object getItem(int position)//根据position得到某一行的记录
public long getItemId(int position)//得到某一条记录的ID
public View getView(int position, View convertView, ViewGroup parent)
BaseAdapter例子:
public class MyAdapter extends BaseAdapter {
private List<ItemBean> list;
private LayoutInflater inflater;
public MyAdapter(Context context, List<ItemBean> list) {
inflater = LayoutInflater.from(context);
this.list = list;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return list.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return list.get(position);
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// // 逗比式
// View view = inflater.inflate(R.layout.item, null);
// ImageView imageview = (ImageView) view.findViewById(R.id.imageview);
// TextView tittle = (TextView) view.findViewById(R.id.tittle);
// TextView context = (TextView) view.findViewById(R.id.context);
// ItemBean bean = list.get(position);
// imageview.setImageResource(bean.ImageResid);
// tittle.setText(bean.title);
// context.setText(bean.context);
// return view;
// // 普通式,利用了ListView的缓存,使用convertView
// if (convertView == null) {
// convertView = inflater.inflate(R.layout.item, null);
// }
// ImageView imageview = (ImageView) convertView
// .findViewById(R.id.imageview);
// TextView tittle = (TextView) convertView.findViewById(R.id.tittle);
// TextView context = (TextView) convertView.findViewById(R.id.context);
// ItemBean bean = list.get(position);
// imageview.setImageResource(bean.ImageResid);
// tittle.setText(bean.title);
// context.setText(bean.context);
// return convertView;
// 文艺式,利用了ListView的缓存,更通过ViewHolder类来实现显示数据的试图的缓存,避免多次通过findViewById寻找控件
ViewHolder viewHolder;
if (convertView == null) {
viewHolder = new ViewHolder();
convertView = inflater.inflate(R.layout.item, null);
viewHolder.ViewHolderimageView = (ImageView) convertView
.findViewById(R.id.imageview);
viewHolder.ViewHoldertitle = (TextView) convertView
.findViewById(R.id.tittle);
viewHolder.ViewHoldercontent = (TextView) convertView
.findViewById(R.id.context);
convertView.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) convertView.getTag();
}
ItemBean bean = list.get(position);
viewHolder.ViewHolderimageView.setImageResource(bean.ImageResid);
viewHolder.ViewHoldertitle.setText(bean.title);
viewHolder.ViewHoldercontent.setText(bean.context);
return convertView;
}
class ViewHolder {
public ImageView ViewHolderimageView;
public TextView ViewHoldertitle;
public TextView ViewHoldercontent;
}
}
我们常用的适配器一共有三个,当然不包含自定义的适配器,
那就是ArrayAdapter,SimpleAdapter,SimpleCursorAdapter这三个,他们都是继BaseAdapter
。
ArrayAdapter最为简单,只能展示一行字。
SimpleAdapter有最好的扩充性,可以自定义出各种效果。
SimpleCursorAdapter可以认为是SimpleAdapter对数据库的简单结合。
四个方法:
public int getCount() //得到数据的行数
public Object getItem(int position)//根据position得到某一行的记录
public long getItemId(int position)//得到某一条记录的ID
public View getView(int position, View convertView, ViewGroup parent)
BaseAdapter例子:
public class MyAdapter extends BaseAdapter {
private List<ItemBean> list;
private LayoutInflater inflater;
public MyAdapter(Context context, List<ItemBean> list) {
inflater = LayoutInflater.from(context);
this.list = list;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return list.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return list.get(position);
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// // 逗比式
// View view = inflater.inflate(R.layout.item, null);
// ImageView imageview = (ImageView) view.findViewById(R.id.imageview);
// TextView tittle = (TextView) view.findViewById(R.id.tittle);
// TextView context = (TextView) view.findViewById(R.id.context);
// ItemBean bean = list.get(position);
// imageview.setImageResource(bean.ImageResid);
// tittle.setText(bean.title);
// context.setText(bean.context);
// return view;
// // 普通式,利用了ListView的缓存,使用convertView
// if (convertView == null) {
// convertView = inflater.inflate(R.layout.item, null);
// }
// ImageView imageview = (ImageView) convertView
// .findViewById(R.id.imageview);
// TextView tittle = (TextView) convertView.findViewById(R.id.tittle);
// TextView context = (TextView) convertView.findViewById(R.id.context);
// ItemBean bean = list.get(position);
// imageview.setImageResource(bean.ImageResid);
// tittle.setText(bean.title);
// context.setText(bean.context);
// return convertView;
// 文艺式,利用了ListView的缓存,更通过ViewHolder类来实现显示数据的试图的缓存,避免多次通过findViewById寻找控件
ViewHolder viewHolder;
if (convertView == null) {
viewHolder = new ViewHolder();
convertView = inflater.inflate(R.layout.item, null);
viewHolder.ViewHolderimageView = (ImageView) convertView
.findViewById(R.id.imageview);
viewHolder.ViewHoldertitle = (TextView) convertView
.findViewById(R.id.tittle);
viewHolder.ViewHoldercontent = (TextView) convertView
.findViewById(R.id.context);
convertView.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) convertView.getTag();
}
ItemBean bean = list.get(position);
viewHolder.ViewHolderimageView.setImageResource(bean.ImageResid);
viewHolder.ViewHoldertitle.setText(bean.title);
viewHolder.ViewHoldercontent.setText(bean.context);
return convertView;
}
class ViewHolder {
public ImageView ViewHolderimageView;
public TextView ViewHoldertitle;
public TextView ViewHoldercontent;
}
}
0 0
- BaseAdapter使用的三种形式,逗比式,普通式,文艺式
- BaseAdapter的三重境界,逗比式,普通式,文艺式
- android:ListView缓存机制及BaseAdapter的三重境界(逗比式,普通式,文艺式)
- android:ListView缓存机制及BaseAdapter的三重境界(逗比式,普通式,文艺式)
- BaseAdapter优化------文艺式
- 三猿开泰,走进普通、文艺、2B程序猿的逗比世界
- 三猿开泰,走进普通、文艺、2B程序猿的逗比世界
- ListView的文艺式
- Android 中ArrayAdapter,SimpleAdapter,BaseAdapter三种适配器的使用
- Android 中ArrayAdapter,SimpleAdapter,BaseAdapter三种适配器的使用
- 闭包使用的三种形式
- iPawn:文艺青年的玩桌游方式
- android ListView使用的三种方法汇总(通过继承BaseAdapter,使用SimpleAdapter和SimpleCursorAdapter)
- Cocos2d-x 原生EditBox三种形式的使用
- ListView之BaseAdapter的基本使用以及三种方式对比
- 普通程序员、文艺程序员和2B程序员的区别
- 普通&文艺&二逼的iPhone音乐应用推荐
- 二逼 普通 文艺的素数筛选法
- 常用函数/功能块 记录
- python 多线程
- HDU 5305 Friends(简单DFS)
- 百元买百鸡(C++实现)
- bootstrap使用(弹窗实现/弹出窗口数据不更新)
- BaseAdapter使用的三种形式,逗比式,普通式,文艺式
- 解决关于哈夫曼编码计算带权路径长度问题
- X509证书信任管理器类的详解
- 键盘操作、小程序查看器
- 在ASP.NET MVC中通过URL路由实现对多语言的支持
- ***********ListView的使用***********
- Swift based iBeacon App Development with CoreLocation on Apple iOS 7/8
- 互联网+时代,是更加开放还是封闭
- jquery1.8 获取option的对象进行操作