Android中 自定义数据绑定适配器BaseAdapter的方法_技术学院_宜昌市隼壹珍商贸有限公司

您好,欢迎访问宜昌市隼壹珍商贸有限公司

400 890 5375
当前位置: 主页 > 新闻动态 > 技术学院

Android中 自定义数据绑定适配器BaseAdapter的方法

发布时间:2026-01-17  |  点击率:

复制代码 代码如下:
public class PersonAdapter extends BaseAdapter {
 private List persons;// 要绑定的数据
 private int resource;// 绑定的一个条目界面的id,此例中即为item.xml
 private LayoutInflater inflater;// 布局填充器,它可以使用一个xml文件生成一个View对象,可以通过Context获取实例对象

 public PersonAdapter(Context context, List persons, int resource) {
  inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
  this.resource = resource;
  this.persons = persons;
 }

 @Override
 public int getCount() {// 得到要绑定的数据总数
  return persons.size();
 }

 @Override
 public Object getItem(int position) {// 给定索引值,得到索引值对应的对象
  return persons.get(position);
 }

 @Override
 public long getItemId(int position) {// 获取条目id
  return position;
 }

 // ListView有缓存功能,当显示第一页页面时会创建页面对象,显示第二页时重用第一页创建好了的对象
 // 取得条目界面:position代表当前条目所要绑定的数据在集合中的索引值
 @Override
 public View getView(int position, View convertView, ViewGroup parent) {
  TextView nameView = null;
  TextView phoneView = null;
  TextView amountView = null;
  if (convertView == null) {// 显示第一页的时候convertView为空
   convertView = inflater.inflate(resource, null);// 生成条目对象
   nameView = (TextView) convertView.findViewById(R.id.name);
   phoneView = (TextView) convertView.findViewById(R.id.phone);
   amountView = (TextView) convertView.findViewById(R.id.amount);

   ViewCache cache = new ViewCache();
   cache.amountView = amountView;
   cache.nameView = nameView;
   cache.phoneView = phoneView;
   convertView.setTag(cache);
  } else {
   ViewCache cache = (ViewCache) convertView.getTag();
   amountView = cache.amountView;
   nameView = cache.nameView;
   phoneView = cache.phoneView;
  }

  Person person = persons.get(position);
  // 实现数据绑定
  nameView.setText(person.getName());
  phoneView.setText(person.getPhone());
  amountView.setText(person.getAmount());
  return convertView;
 }

 private final class ViewCache {
  public TextView nameView;
  public TextView phoneView;
  public TextView amountView;
 }
}

全国统一服务电话

400 890 5375

电子邮箱:879577@qq.com

公司地址:宜昌市西陵区黄河路5号三峡明珠10栋1051室

咨询微信

TEL:13680874598