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
  • 相关阅读:
    Ubuntu 16.04 安装 .NET Core[转]
    SQL Server 2012提供的OFFSET/FETCH NEXT与Row_Number()对比测试 [T]
    npm package
    RN 文件上传下载
    RN css整理
    react nginx配置
    macOS安装homebrew报错 errno 54 & port 443:Connection refused
    shopify插件开发oauth报400的解决办法
    Mac下更新Ruby版本
    Failed to connect to raw.githubusercontent.com port 443 解决方案
  • 原文地址:https://www.cnblogs.com/phenixyu/p/3969087.html
Copyright © 2011-2022 走看看