当前位置: 移动技术网 > IT编程>移动开发>Android > Android中 自定义数据绑定适配器BaseAdapter的方法

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

2019年07月24日  | 移动技术网IT编程  | 我要评论

arora 博客,媳妇的全盛时代国语版下载,天书奇谈风清月朗

复制代码 代码如下:

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;
 }
}

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网