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

 更新时间:2013年04月21日 14:11:07   作者:   我要评论
本篇文章小编为大家介绍,Android中 自定义数据绑定适配器BaseAdapter的方法。需要的朋友参考下

复制代码 代码如下:

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

相关文章

  • Android利用ConstraintLayout实现漂亮的动画详解

    Android利用ConstraintLayout实现漂亮的动画详解

    最近在无意中看到一篇关于ConstraintLayout的文章,ConstraintLayout是Android Studio 2.2中主要的新增功能之一,下面这篇文章主要给大家介绍了关于Android利用ConstraintLayout实现漂亮的动画的相关资料,需要的朋友可以参考下。
    2017-05-05
  • Android开发中Activity属性设置小结

    Android开发中Activity属性设置小结

    Android应用开发中会经常遇到Activity组件的使用,下面就来讲解下Activity组件。Activity的生命周期、通信方式和IntentFilter等内容,并提供了一些日常开发中经常用到的关于Activity的技巧和方法。通过本文,你可以进一步了接Android中Activity的运作方式。
    2015-05-05
  • Android  TimerTask 的简单应用及注意事项

    Android TimerTask 的简单应用及注意事项

    这篇文章主要介绍了Android TimerTask 的简单应用及注意事项的相关资料,需要的朋友可以参考下
    2017-06-06
  • android WebView加载html5介绍

    android WebView加载html5介绍

    viewport属性放在HTML的meta中接下来看详细代码,感兴趣的你可以参考下本文
    2013-03-03
  • Android开发笔记之: 数据存储方式详解

    Android开发笔记之: 数据存储方式详解

    本篇文章是对Android中数据存储方式进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • Android数据持久化之SQLite数据库用法分析

    Android数据持久化之SQLite数据库用法分析

    这篇文章主要介绍了Android数据持久化之SQLite数据库用法,结合实例形式分析了SQLite概念、功能、相关操作类与使用技巧,需要的朋友可以参考下
    2017-05-05
  • Android使用libgdx实现模拟方向键控制角色移动的方法

    Android使用libgdx实现模拟方向键控制角色移动的方法

    这篇文章主要介绍了Android使用libgdx实现模拟方向键控制角色移动的方法,实例分析了Android中使用libgdx框架实现响应方向键的技巧,适用于Android游戏开发领域,需要的朋友可以参考下
    2015-12-12
  • Android短信操作常见协议和常用代码

    Android短信操作常见协议和常用代码

    这篇文章主要介绍了Android短信操作常见协议和常用代码,本文直接给出代码实例,需要的朋友可以参考下
    2015-04-04
  • Android中的AppWidget入门教程

    Android中的AppWidget入门教程

    这篇文章主要介绍了Android中的AppWidget入门教程,本文起讲解了如何创建一个简单的AppWidget、如何使得AppWidget与客户端程序交互等内容,需要的朋友可以参考下
    2015-03-03
  • Android 自定义相机及分析源码

    Android 自定义相机及分析源码

    这篇文章主要介绍了Android 自定义相机及分析源码的相关资料,这里自定义相机并使用系统相机教程源码进行详解,需要的朋友可以参考下
    2017-08-08

最新评论