当前位置:  编程技术>移动开发

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

    来源: 互联网  发布时间:2014-10-14

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

代码如下:

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


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Android数据绑定框架 RoboBinding
  • Android中的SQL查询语句LIKE绑定参数问题解决办法(sqlite数据库)
  • android使用Messenger绑定Service的多种实现方法
  • Android ListView数据绑定显示的三种解决方法
  • 申请Android Map 的API Key(v2)的最新申请方式(SHA1密钥)
  • Android瀑布流实例 android_waterfall
  • Android开发需要的几点注意事项总结
  • Android系统自带样式 (android:theme)
  • android 4.0 托管进程介绍及优先级和回收机制
  • Android网络共享软件 Android Wifi Tether
  • Android访问与手机通讯相关类的介绍
  • Android 图标库 Android GraphView
  • Android及andriod无线网络Wifi开发的几点注意事项
  • 轻量级Android开发工具 Android Tools
  • Android 2.3 下StrictMode介绍
  • Android 开发环境 Android Studio
  • IDEA的Android开发插件 idea-android
  • Android手机事件提醒 Android Notifier
  • XBMC的Android客户端 android-xbmcremote
  • Android小游戏 Android Shapes
  • Android电池监控 Android Battery Dog
  • android开发:“android:WindowTitle”没有对应项no resource
  • Android 上类似IOS 的开关控件。 Android ToggleButton
  • Android 将 android view 的位置设为右下角的解决方法
  • Android 2D游戏引擎 Android Angle


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3