[Quik Start]

  1. 继承BaseAdapter, 具体实现请参考\android\widget\SimpleAdapter.java
  2. 重载public View getView(int position, View convertView, ViewGroup parent), 并在该函数里通过接口来加载不同Item的布局(单一布局的情况下, 到这里就已经可以完成功能了...)
  3. 重载BaseAdapter中的public int getViewTypeCount() &public int getItemViewType(int position) 两个函数. 其中, 前者是用来告诉ListView有多少种Item布局, 而后者是用来告诉ListView应该根据位于position的元素返回第n(0,1,...N-1)种布局, 而ListView则根据该值来判断在调用getView时应该传入已缓存的convertView.


[Example]

/** * 现以2种布局为例, 另外,代码要根据自身需求做响应修改 */public class ExampleAdapter extends BaseAdapter {    private LayoutInflater mInflater;    ... ...    @Override    public View getView(int position, View convertView, ViewGroup parent) {        View v;        if (convertView == null) {            // 根据position元素生成item布局            int resource = ? [R.layout.item1 | R.layout.item2];            v = mInflater.inflate(resource, parent, false);        } else {            v = convertView;        }    }    @Override    public int getItemViewType(int position) {        // 根据position元素返回View的类型, type值是从0开始排序的        int type = ? [0 | 1];        return type;    }    @Override    public int getViewTypeCount() {        return 2;    }}


[Learn More]

  1. ListView的缓存机制的讲解
  2. ListView & Adapter 基础
  3. View 与 Tag 的关系




更多相关文章

  1. 安卓的简单笔记
  2. Andorid常用布局和常用属性介绍
  3. Android(安卓)L Settings实现
  4. Android(安卓)DataBinding使用总结(一)
  5. Android项目结构和HelloWorld
  6. Android(安卓)-- ListView与Adapter
  7. Android(安卓)Fragment 基本了解
  8. android 面试(一)
  9. Android圆形图片控件RoundedImageView

随机推荐

  1. Android(安卓)热修复总结
  2. 【原创】Android(安卓)系统稳定性 - ANR(
  3. Android(安卓)Touch点击事件源码分析
  4. Android(安卓)快速接入广告( 广点通、穿山
  5. Android(安卓)studio 制作aar 使用Gradle
  6. 关于锤子的OneStep和Bigbang的猜想
  7. Android准备取代塞班 成为智能手机新霸主
  8. IT行业的你可以看看
  9. Android布局类型资源(二)---XML、drawabl
  10. 在 Android(安卓)P 中使用默认 TLS 来保