zoukankan      html  css  js  c++  java
  • Android Adapter

    1. Adapter接口派生了ListAdapter和SpinnerAdapter接口,ListAdapter为AbsListView提供列表项,SpinnerAdapter为AbsSpinner提供列表项,Adapter常用的实现类如下:
      • ArrayAdapter:将数组活列表中的多个值包装成列表项,每个列表项只能是TextView或者其子类
        ArrayAdapter
      • SimpleAdapter:可将list集合中的多个对象包装成列表项,每个列表项对应一个Layout
        SimpleAdapter
      • SimpleCursorAdapter:用于包装Cursor提供的数据,其构造函数为
        public SimpleAdapter(Context context,
                     List<? extends Map<String,?>> data,
                     int resource,
                     String[] from,
                     int[] to)
        SimpleCursorAdapter

      • BaseAdapter:常用来扩展,可以实现对列表项最大限度的定制.自定义BaseAdapter时要重写它的多个方法,比较重要的有getCount,getView方法.ListView设置了BaseAdapter,系统开始绘制ListView的时候,首先调用getCount方法得到ListView的item数目,然后调用getView逐条绘制item
        • View getView(int position,View convertView,ViewGroup parent):显示data set position位置的数据的view.其中convertView参数需要注意。它的工作原理是:以ListView为例,当初始显示时,每次显示一个item都调用一次getView方法,每次调用convertView都为空,当显示完后,如果屏幕移动了并且导致有些Item移出屏幕,此时如果还有新的item需要产生,调用getView时convertView参数就不为空,而是移出屏幕的item的view,所以为了提高效率可以重用之前的view,代码如下
          BaseAdapter getView
      • 继承关系如图所示:
        clipboard
  • 相关阅读:
    第 17 章 责任链模式【Chain of Responsibility Pattern】
    第 16 章 观察者模式【Observer Pattern】
    第 15 章 组合模式【Composite Pattern】
    第 14 章 迭代器模式【Iterator Pattern】
    第 13 章 装饰模式【Decorator Pattern】
    第 12 章 命令模式【Command Pattern】
    第 11 章 桥梁模式【Bridge Pattern】
    第 10 章 建造者模式【Builder Pattern】
    编写高质量代码改善C#程序的157个建议——导航开篇
    C#实现简易ajax调用后台方法
  • 原文地址:https://www.cnblogs.com/phenixyu/p/3969087.html
Copyright © 2011-2022 走看看